Maison  >  Article  >  développement back-end  >  Programme Python pour trouver le poids d'une chaîne

Programme Python pour trouver le poids d'une chaîne

WBOY
WBOYavant
2023-09-04 20:09:101021parcourir

Programme Python pour trouver le poids dune chaîne

Dans cet article, la tâche donnée est de trouver le poids total d'une corde. Pour calculer le poids de la chaîne, nous convertissons la chaîne donnée en une forme inférieure. Compte tenu du poids des caractères, on prend a=1, b=,2 et ainsi de suite jusqu'à z=26. Dans cet article Python, une méthode permettant de trouver le poids d'une chaîne donnée est présentée à l'aide de deux exemples différents. Dans le premier exemple, les caractères donnés dans la chaîne sont récupérés, récupérés, puis leurs poids respectifs sont ajoutés aux poids mis à jour. Dans l'exemple 2, vous calculez d'abord la fréquence à laquelle un caractère donné apparaît dans la chaîne, puis multipliez cette fréquence par le poids de caractère correspondant, puis additionnez tous ces poids de composants pour obtenir le résultat final.

Exemple 1 : recherchez les poids des chaînes et ajoutez les poids des caractères à l'aide de l'itération.

Algorithme

Étape 1 - Commencez par créer atoz = 'abcdefghijklmnopqrstuvwxyz'.

Étape 2 - Nous utiliserons la fonction atoz.index() pour obtenir le numéro de poids, par exemple ici l'espace ' ' aura la valeur 0, b aura la valeur 2 et ainsi de suite.

Étape 3 - Spécifiez maintenant la chaîne donnée pour laquelle le poids de la chaîne doit être calculé.

Étape 4 - Parcourez la chaîne donnée pour obtenir les caractères un par un.

Étape 5 - Trouvez la valeur de position (valeur de poids) du personnage en atoz.

Étape 6 - Mettez à jour le poids de la chaîne en ajoutant la valeur de poids du caractère.

Étape 7 - Enfin, imprimez les résultats totaux.

Exemple

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) 

Sortie

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

Exemple 2 : Trouver le poids d'une chaîne à l'aide de la formule de poids des caractères et d'occurrence

Algorithme

Étape 1 - Créez d'abord un dictionnaire nommé charweight= {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, "f" :6, "g":7,…………. "z" maximum : 26}

Étape 2 - Spécifiez maintenant la chaîne donnée pour laquelle le poids de la chaîne doit être calculé.

Étape 3 - Trouver la fréquence d'apparition d'un caractère dans une chaîne donnée.

Étape 4 - Parcourez le dictionnaire de poids des caractères et trouvez la valeur de poids pour chaque caractère dans la chaîne donnée.

Étape 5 - Multipliez la fréquence d'un personnage par son poids.

Étape 6 - Mettez à jour le poids de la corde en ajoutant cette valeur calculée.

Étape 7 - Répétez cette opération et imprimez le résultat total à la fin.

Explication des termes utilisés dans une formule donnée

TotalWeight est le poids total de la chaîne de test donnée.

N1, n2 représentent les caractères apparaissant dans la chaîne de test donnée

Occr(n1) signifie que n1 se produit dans la chaîne de test donnée.

Weight(n1) représente le poids du caractère donné n1 dans le dictionnaire charweight.

Ici, « * » est utilisé comme opérateur de multiplication pour les nombres

Ici, « + » est utilisé comme opérateur d'addition pour les nombres

Formule utilisée

PoidsTotal= (Occr(n1) * poids(n1)) + (Occr(n2) * poids(n2)) .....et ainsi de suite

Exemple

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)

Sortie

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

Conclusion

Nous donnons ici deux méthodes différentes pour montrer comment trouver le poids d'une corde donnée. Tout d’abord, les caractères utilisés sont extraits un par un de la chaîne de test donnée, puis leurs poids respectifs sont additionnés. En répétant ce processus, le poids final de la corde est calculé. Dans l'exemple 2, recherchez d'abord la fréquence du caractère dans la chaîne, puis multipliez cette fréquence par le poids de ce caractère. Ce processus est répété pour tous les caractères utilisés dans une chaîne donnée et le poids final de la chaîne est calculé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer