【发布时间】:2021-07-22 11:30:27
【问题描述】:
我有这个列表[5, '*', 10, '/', 22],我想写一个函数来解决这个数学问题并返回答案,但我不知道我该怎么做......
【问题讨论】:
-
到目前为止你尝试过什么?请阅读How to Ask。
标签: python list math calculator calculation
我有这个列表[5, '*', 10, '/', 22],我想写一个函数来解决这个数学问题并返回答案,但我不知道我该怎么做......
【问题讨论】:
标签: python list math calculator calculation
您可以使用eval,但请谨慎使用:
l=[5, '*', 10, '/', 22]
y=eval(''.join([str(x) for x in l]))
print(y)
【讨论】:
eval中的除法和乘法搞砸了
首先,使用join 函数创建此表达式的字符串,但确保列表中的所有内容均为<str> 类型
l = [5, '*', 10, '/', 22]
l = [str(x) for x in l]
exp = ''.join(l)
然后使用eval 计算表达式字符串
eval(exp)
【讨论】:
eval的使用,您应该添加一些重要信息:Eval really is dangerous
或者更高级的解决方案尝试使用反向波兰表示法
【讨论】: