我试图使用python中的eval方法来评估写在字符串中的基本数学运算,但我首先检查字符串以确保没有任何问题发生,这样我就可以正确地使用eval()来评估我的字符串。
以下是我现在的一些代码:
import re
s = ("6 + 2 ^ 2")
if re.findall('\d+? *?\+ *?\d+?', s):
print(eval(s))
else:
print ("Try entering a math problem")
输出是10,如我所愿。
但是当我将变量s切换为等于时,我收到一条错误消息"6 + (2 ^ 2)"
“尝试输入数学题”
相反。它仍然应该是10,但由于某种原因,我没有得到它。由于某种原因,括号搞砸了一切。
我在正则表达式中做错了什么?
呼唤远方
相关分类