Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Programm zum Ermitteln des Gewichts eines Strings

Python-Programm zum Ermitteln des Gewichts eines Strings

WBOY
WBOYnach vorne
2023-09-04 20:09:10959Durchsuche

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.

Beispiel 1: Zeichenfolgengewichtungen ermitteln und Zeichengewichtungen mithilfe von Iteration hinzufügen.

Algorithmus

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.

Beispiel

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) 

Ausgabe

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

Beispiel 2: Ermitteln Sie die Zeichenfolgengewichtung mithilfe der Zeichengewichts- und Vorkommensformel

Algorithmus

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

erscheinen

Occr(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

Verwendete Formel

TotalWeight= (Occr(n1) * Gewicht(n1)) + (Occr(n2) * Gewicht(n2)) .....und so weiter

Beispiel

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)

Ausgabe

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

Fazit

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen