Programa de Python para calcular la operación aritmética de String

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))
Producción

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))
Producción

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

Deja una respuesta

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