Python3 - 解决字符串格式的数学方程

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (68)

这个问题在这里已有答案:

有没有办法解决字符串格式的数学方程式?

例如,我有 x = 2 y = 3 equations_str = ('x+y', 'x-y')

我想要一个能给出的功能

results = (5, -1)

我想这样做是因为我希望将方程式作为数字标题,因此它们需要是字符串。我知道有一个类似的问题被问到java,但我对java不太熟悉,所以将它翻译成python。

谢谢!

提问于
用户回答回答于
用户回答回答于

尝试一下sympy包的症状功能。它允许您评估字符串,但使用该eval函数,因此不要在未经过类型化的输入上使用它。

例:

>>> from sympy import sympify
>>> str_expr = "x**2 + 3*x - 1/2"
>>> expr = sympify(str_expr)
>>> expr
x**2 + 3*x - 1/2
>>> expr.subs(x, 2)
19/2

扫码关注云+社区

领取腾讯云代金券