Programa de Python para encontrar el peso de la string

Dada una string, cada carácter asignado con un peso (número), calcule el peso total de la string.

Entrada : test_str = ‘GeeksforGeeks’, {“G”: 1, “e”: 2, “k”: 5, “f”: 3, “s”: 15, “o”: 4, “r”: 6 } 
Salida : 63 
Explicación : 2 (G*2) + 8(e*4) + 30(s*2) + 10(k*2) + 4(o) + 6(r) +3(f) = 63 .

Entrada : test_str = ‘Geeks’, {“G”: 1, “e”: 2, “k”: 5, “s”: 15} Salida 
: 25  

Método n. ° 1: usar bucle

Esta es una de las formas en que se puede realizar esta tarea. En esto, iteramos para todos los caracteres y sumamos todos los pesos asignados del diccionario.

Python3

# Python3 code to demonstrate working of
# String Weight
# Using loop
 
# initializing string
test_str = 'GeeksforGeeks'
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing sum dictionary
sum_dict = {"G" : 5, "e" : 2, "k" : 10,
            "f" : 3, "s" : 15, "o" : 4, "r" : 6}
 
# referring dict for sum
# iteration using loop
res = 0
for ele in test_str:
    res += sum_dict[ele]
 
# printing result
print("The weighted sum : " + str(res))
Producción

The original string is : GeeksforGeeks
The weighted sum : 81

Método #2: Usando sum()

Esta es una forma más en la que se puede realizar esta tarea. En esto, usamos la expresión del generador, y sum() se usa para calcular la suma de los pesos individuales.

Python3

# Python3 code to demonstrate working of
# String Weight
# Using sum()
 
# initializing string
test_str = 'GeeksforGeeks'
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing sum dictionary
sum_dict = {"G" : 5, "e" : 2, "k" : 10, "f" : 3,
            "s" : 15, "o" : 4, "r" : 6}
 
# sum() used to get summation
res = sum(sum_dict[ele] for ele in test_str)
 
# printing result
print("The weighted sum : " + str(res))
Producción

The original string is : GeeksforGeeks
The weighted sum : 81

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *