我需要返回expression的值(表达式是函数的参数)的帮助。
这是我到目前为止尝试过的。这只是一个带有随机方程的例子,我的计划是了解如何正确求解它,以便以后将其转换为函数
sum = 0
eq = '2+4-5'
string = ""
for x in eq:
if x in ('+', '-'):
if x == '+':
sum += int(string)
elif x == "-":
sum -= int(string)
string = ""
else:
string += x
sum += int(string)
print(sum)
"1+2" => 3 # input = "1+2" and the output of the function would be 3
"-1+21" => 20
"+1-1" => 0
答案 0 :(得分:3)
查找eval()函数:
>> eq = "2+4-5"
>> eval(eq)
1
eval()如评论中所述,评估作为Python代码传递的字符串,这有潜在的危险。
答案 1 :(得分:2)
尝试这个:
import re
eq = '+1-1'
ls = [int(i) for i in re.findall('[-+]?[0-9]+', eq)]
res = sum(ls)
print(res)