Maison > Article > développement back-end > Programme Python pour trouver le poids d'une 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.
É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.
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
É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
PoidsTotal= (Occr(n1) * poids(n1)) + (Occr(n2) * poids(n2)) .....et ainsi de suite
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
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!