Python: evaluar la expresión dada en la string

A veces, mientras trabajamos con Python Strings, podemos tener ciertos cálculos en formato de string y necesitamos formular su resultado. Esto puede ocurrir en dominios relacionados con Matemáticas y datos. Analicemos ciertas formas en las que podemos realizar esta tarea.

Método #1: Usar regex + map() + sum() 
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de cálculo usando sum() y mapeo de operador y operación usando map(). Este método se puede usar si la string solo tiene + o -. El método #2 también se puede usar para otras operaciones.

Python3

# Python3 code to demonstrate working of
# Expression evaluation in String
# Using regex + map() + sum()
import re
 
# initializing string
test_str = "45 + 98-10"
 
# printing original string
print("The original string is : " + test_str)
 
# Expression evaluation in String
# Using regex + map() + sum()
res = sum(map(int, re.findall(r'[+-]?\d+', test_str)))
 
# printing result
print("The evaluated result is : " + str(res))
Producción : 

The original string is : 45+98-10
The evaluated result is : 133

 

Método #2: Usar eval() 
Esta es una de las formas en que se puede realizar esta tarea. En esto, realizamos cálculos internamente usando eval(). 

Python3

# Python3 code to demonstrate working of
# Expression evaluation in String
# Using eval()
 
# initializing string
test_str = "45 + 98-10"
 
# printing original string
print("The original string is : " + test_str)
 
# Expression evaluation in String
# Using eval()
res = eval(test_str)
 
# printing result
print("The evaluated result is : " + str(res))
Producción : 

The original string is : 45+98-10
The evaluated result is : 133

 

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 *