Heim >Backend-Entwicklung >Python-Tutorial >Python-Programm zum Ermitteln des Gewichts eines Strings
In diesem Artikel besteht die Aufgabe darin, das Gesamtgewicht einer Saite zu ermitteln. Um das String-Gewicht zu berechnen, konvertieren wir den gegebenen String in eine niedrigere Form. Unter Berücksichtigung der Zeichengewichtung nehmen wir a=1, b=,2 usw. bis z=26. In diesem Python-Artikel wird anhand von zwei verschiedenen Beispielen eine Methode zum Ermitteln der Gewichtung einer bestimmten Zeichenfolge vorgestellt. Im ersten Beispiel werden die angegebenen Zeichen in der Zeichenfolge abgerufen, gesichert und dann werden ihre jeweiligen Gewichtungen zu den aktualisierten Gewichtungen addiert. In Beispiel 2 berechnen Sie zunächst, wie oft ein bestimmtes Zeichen in der Zeichenfolge vorkommt, multiplizieren dann diese Häufigkeit mit der entsprechenden Zeichengewichtung und addieren dann alle diese Komponentengewichtungen, um das Endergebnis zu erhalten.
Schritt 1 - Erstellen Sie zunächst atoz = 'abcdefghijklmnopqrstuvwxyz'.
Schritt 2 – Wir verwenden die Funktion atoz.index(), um die Gewichtszahl zu erhalten. Hier hat beispielsweise das Leerzeichen „ den Wert 0, b den Wert 2 und so weiter.
Schritt 3 - Geben Sie nun die angegebene Saite an, für die das Saitengewicht berechnet werden soll.
Schritt 4 – Durchlaufen Sie die angegebene Zeichenfolge, um Zeichen nacheinander zu erhalten.
Schritt 5 – Finden Sie den Positionswert (Gewichtswert) des Zeichens in atoz.
Schritt 6 – Aktualisieren Sie die Zeichenfolgengewichtung, indem Sie den Gewichtungswert des Zeichens hinzufügen.
Schritt 7 – Drucken Sie abschließend die Gesamtergebnisse aus.
givenstr = 'this is a sample string' def calculateWeight(teststr): teststr = teststr.lower() atoz = ' abcdefghijklmnopqrstuvwxyz' weight = 0 for item in range(len(teststr)): elem = teststr[item] currweight = atoz.index(elem) weight += currweight print("This albhabet:",elem, ", alphabet weight:", currweight, ", Updated String Weight ", weight) return weight finalresult= calculateWeight(givenstr) print("Final String Weight: ",finalresult)
This albhabet: t , alphabet weight: 20 , Updated String Weight 20 This albhabet: h , alphabet weight: 8 , Updated String Weight 28 This albhabet: i , alphabet weight: 9 , Updated String Weight 37 This albhabet: s , alphabet weight: 19 , Updated String Weight 56 This albhabet: , alphabet weight: 0 , Updated String Weight 56 This albhabet: i , alphabet weight: 9 , Updated String Weight 65 This albhabet: s , alphabet weight: 19 , Updated String Weight 84 This albhabet: , alphabet weight: 0 , Updated String Weight 84 This albhabet: a , alphabet weight: 1 , Updated String Weight 85 This albhabet: , alphabet weight: 0 , Updated String Weight 85 This albhabet: s , alphabet weight: 19 , Updated String Weight 104 This albhabet: a , alphabet weight: 1 , Updated String Weight 105 This albhabet: m , alphabet weight: 13 , Updated String Weight 118 This albhabet: p , alphabet weight: 16 , Updated String Weight 134 This albhabet: l , alphabet weight: 12 , Updated String Weight 146 This albhabet: e , alphabet weight: 5 , Updated String Weight 151 This albhabet: , alphabet weight: 0 , Updated String Weight 151 This albhabet: s , alphabet weight: 19 , Updated String Weight 170 This albhabet: t , alphabet weight: 20 , Updated String Weight 190 This albhabet: r , alphabet weight: 18 , Updated String Weight 208 This albhabet: i , alphabet weight: 9 , Updated String Weight 217 This albhabet: n , alphabet weight: 14 , Updated String Weight 231 This albhabet: g , alphabet weight: 7 , Updated String Weight 238 Final String Weight: 238
Schritt 1 – Erstellen Sie zunächst ein Wörterbuch mit dem Namen charweight= {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, "f" :6, „g“:7,…………. Maximales „z“: 26}
Schritt 2 - Geben Sie nun die angegebene Saite an, für die das Saitengewicht berechnet werden soll.
Schritt 3 – Finden Sie die Häufigkeit des Vorkommens eines Zeichens in einer bestimmten Zeichenfolge.
Schritt 4 – Durchlaufen Sie das Zeichengewichtungswörterbuch und ermitteln Sie den Gewichtungswert für jedes Zeichen in der angegebenen Zeichenfolge.
Schritt 5 – Multiplizieren Sie die Häufigkeit eines Zeichens mit seinem Gewicht.
Schritt 6 – Aktualisieren Sie das Saitengewicht, indem Sie diesen berechneten Wert hinzufügen.
Schritt 7 – Wiederholen Sie diesen Vorgang und drucken Sie am Ende das Gesamtergebnis aus.
Erklärung der in einer bestimmten Formel verwendeten Begriffe
TotalWeight ist das Gesamtgewicht der angegebenen Testzeichenfolge.
N1, n2 stellen die Zeichen dar, die in der angegebenen Testzeichenfolge
erscheinenOccr(n1) bedeutet, dass n1 in der angegebenen Testzeichenfolge vorkommt.
Weight(n1) stellt die Zeichengewichtung des angegebenen Zeichens n1 im Charweight-Wörterbuch dar.
Hier wird „*“ als Multiplikationsoperator für Zahlen verwendet
Hier wird „+“ als Additionsoperator für Zahlen verwendet
TotalWeight= (Occr(n1) * Gewicht(n1)) + (Occr(n2) * Gewicht(n2)) .....und so weiter
givenstr = 'this is a sample string' charweight= {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7, 'h': 8, 'i': 9, 'j': 10, 'k': 11, 'l': 12, 'm': 13, 'n': 14, 'o': 15, 'p': 16, 'q': 17, 'r': 18, 's': 19, 't': 20, 'u': 21, 'v': 22, 'w': 23, 'x': 24, 'y': 25, 'z': 26} WeightSum=0 occurFreq = {} for i in givenstr: if i in occurFreq: occurFreq[i] += 1 else: occurFreq[i] = 1 print("Char Weights: " , charweight) print("Occurance: ", occurFreq) for alphabetChar, alphabetCharCount in occurFreq.items(): print(alphabetChar, ":", alphabetCharCount) for key in charweight.keys(): if key.find(alphabetChar) > -1: #print(charweight[key]*alphabetCharCount) WeightSum=WeightSum + charweight[key]*alphabetCharCount #print(WeightSum) print("This albhabet:",alphabetChar, ", alphabet Count:", alphabetCharCount, ", alphabet Weight:", charweight[key], " Updated String Weight ", WeightSum) print("Final String Weight: ", WeightSum)
Char Weights: {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7, 'h': 8, 'i': 9, 'j': 10, 'k': 11, 'l': 12, 'm': 13, 'n': 14, 'o': 15, 'p': 16, 'q': 17, 'r': 18, 's': 19, 't': 20, 'u': 21, 'v': 22, 'w': 23, 'x': 24, 'y': 25, 'z': 26} Occurance: {'t': 2, 'h': 1, 'i': 3, 's': 4, ' ': 4, 'a': 2, 'm': 1, 'p': 1, 'l': 1, 'e': 1, 'r': 1, 'n': 1, 'g': 1} t : 2 This albhabet: t , alphabet Count: 2 , alphabet Weight: 20 Updated String Weight 40 h : 1 This albhabet: h , alphabet Count: 1 , alphabet Weight: 8 Updated String Weight 48 i : 3 This albhabet: i , alphabet Count: 3 , alphabet Weight: 9 Updated String Weight 75 s : 4 This albhabet: s , alphabet Count: 4 , alphabet Weight: 19 Updated String Weight 151 : 4 a : 2 This albhabet: a , alphabet Count: 2 , alphabet Weight: 1 Updated String Weight 153 m : 1 This albhabet: m , alphabet Count: 1 , alphabet Weight: 13 Updated String Weight 166 p : 1 This albhabet: p , alphabet Count: 1 , alphabet Weight: 16 Updated String Weight 182 l : 1 This albhabet: l , alphabet Count: 1 , alphabet Weight: 12 Updated String Weight 194 e : 1 This albhabet: e , alphabet Count: 1 , alphabet Weight: 5 Updated String Weight 199 r : 1 This albhabet: r , alphabet Count: 1 , alphabet Weight: 18 Updated String Weight 217 n : 1 This albhabet: n , alphabet Count: 1 , alphabet Weight: 14 Updated String Weight 231 g : 1 This albhabet: g , alphabet Count: 1 , alphabet Weight: 7 Updated String Weight 238 Final String Weight: 238
Wir stellen hier zwei verschiedene Methoden vor, um zu zeigen, wie man das Saitengewicht einer bestimmten Saite ermittelt. Zunächst werden die verwendeten Zeichen einzeln aus der vorgegebenen Testzeichenfolge übernommen und anschließend ihre jeweiligen Gewichte addiert. Durch Wiederholen dieses Vorgangs wird das endgültige Saitengewicht berechnet. Ermitteln Sie in Beispiel 2 zunächst die Häufigkeit des Zeichens in der Zeichenfolge und multiplizieren Sie diese Häufigkeit dann mit der Gewichtung dieses Zeichens. Dieser Vorgang wird für alle in einer bestimmten Zeichenfolge verwendeten Zeichen wiederholt und die endgültige Zeichenfolgengewichtung wird berechnet.
Das obige ist der detaillierte Inhalt vonPython-Programm zum Ermitteln des Gewichts eines Strings. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!