如何接受math.exp作为输入,并在python中使用它进行计算?

如何接受math.exp作为输入,并在python中使用它进行计算?,python,Python,您可以使用: 导入数学 b=输入(“输入b:”) 如果不是b中的“math.exp”():#将您希望允许的内容添加到此列表中 升值误差 b=评估(b)#例如,数学经验(2)作为输入 c=b+4 印刷品(c) 请注意,如果不检查输入,用户可能会输入您不希望计算的表达式。正则表达式可能是一个不错的选择: 重新导入 输入数学 exp_pattern=“math.exp([^\d+$])” 等式=输入(“输入表达式:”) 如果重新匹配(经验模式,公式): b=math.exp(重新编译(exp_模式)

您可以使用:

导入数学
b=输入(“输入b:”)
如果不是b中的“math.exp”():#将您希望允许的内容添加到此列表中
升值误差
b=评估(b)#例如,数学经验(2)作为输入
c=b+4
印刷品(c)

请注意,如果不检查输入,用户可能会输入您不希望计算的表达式。

正则表达式可能是一个不错的选择:

重新导入
输入数学
exp_pattern=“math.exp([^\d+$])”
等式=输入(“输入表达式:”)
如果重新匹配(经验模式,公式):
b=math.exp(重新编译(exp_模式).search(等式).group(1))
c=b+4
印刷品(c)
其他:
raise VALUERROR(“无效表达式”)
正则表达式模式将只匹配整数,因此不会出现意外的
TypeError
s


对于浮点或其他模式,此帖子可能会有所帮助:

float
不计算表达式。您可以尝试
eval
,但应非常小心。此外,要求先导入
数学
。eval工作正常。谢谢第二个@tobias_k。请确保在发送之前检查输入值g至
eval
。另外,欢迎!
b = float(input('enter b: ') # where I entered math.exp(2) for b
c = b+4