Dada una String con la multiplicación de elementos, convertir a la suma de estas multiplicaciones.
Entrada : test_str = ‘5×10, 9×10, 7×8’
Salida : 196
Explicación : 50 + 90 + 56 = 196.Entrada : test_str = ‘5×10, 9×10’
Salida : 140
Explicación : 50 + 90 = 140.
Método 1: Usando map() + mul + sum() + split()
La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, realizamos la suma usando sum() y la multiplicación usando mul() , split() se usa para dividir elementos para crear operandos para la multiplicación. El map() se usa para extender la lógica de la multiplicación a cada cálculo.
Python3
# importing module from operator import mul # initializing string test_str = '5x6, 9x10, 7x8' # printing original string print("The original string is : " + str(test_str)) # sum() is used to sum the product of each computation res = sum(mul(*map(int, ele.split('x'))) for ele in test_str.split(', ')) # printing result print("The computed summation of products : " + str(res))
The original string is : 5x6, 9x10, 7x8 The computed summation of products : 176
Método 2: Usando eval() + replace()
En esto, convertimos el símbolo de multiplicación en el operador de multiplicación (‘ * ‘), de manera similar, el símbolo de coma se convierte en el símbolo aritmético » + «. Luego eval() realiza cálculos internos y devuelve el resultado.
Python3
# initializing string test_str = '5x6, 9x10, 7x8' # printing original string print("The original string is : " + str(test_str)) # using replace() to create eval friendly string temp = test_str.replace(',', '+').replace('x', '*') # using eval() to get the required result res = eval(temp) # printing result print("The computed summation of products : " + str(res))
The original string is : 5x6, 9x10, 7x8 The computed summation of products : 176
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