我需要帮助返回expression的值(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发布于 2019-10-01 22:34:15
查找eval()函数:
>> eq = "2+4-5"
>> eval(eq)
1正如注释中所说,eval()计算作为Python代码传递的字符串,这有潜在的危险。
发布于 2019-10-01 23:03:22
试试这个:
import re
eq = '+1-1'
ls = [int(i) for i in re.findall('[-+]?[0-9]+', eq)]
res = sum(ls)
print(res)https://stackoverflow.com/questions/58187005
复制相似问题