For example we have math expression in string like “4+2+34+346-234”
We can directly calculate from this text with eval()
Directly calculate from string
our_expression= "4+2+34+346-234"
answer=eval(our_expression)
print(answer)
# 152
More things we can do
calculate from variables
x = 7
y = 5
expression = "x * y"
result = eval(expression)
print("Result:", result)
# Result: 35
Directly take expression as user input
expression = str(input("Enter a mathematical expression: "))
result = eval(expression)
print("Result:", result)
Also we can use python math library to solve more complex expression
import math
# Define a mathematical expression as a string
expression = "math.sqrt(25) + math.cos(math.radians(45))"
# Evaluate the expression using eval()
result = eval(expression)
print("Result:", result)
# Result: 5.707106781186548
Using with lambda
# Define the lambda function
calculate_and_show_divisors = lambda equation: \
[i for i in range(1, eval(equation) + 1) if eval(equation) % i == 0]
# Define the equation
equation = "3 * 4 + 2"
# Call the lambda function with the equation
divisors = calculate_and_show_divisors(equation)
print("Divisors of the result:", divisors)
# Divisors of the result: [1, 2, 7, 14]
The considerations
if you are using eval for your personal project that’s OK. but if you are applying it on server on application, there is security considerations. Because it can calculate directly from string, so untrusted user input can be cause of unexpected code execution. So try alternative in this situations or apply user input validation logic.