我的问题是: 我想知道一个计算得到一个变量的值 (:" x = 5 * x - 20" - > x = 5)
我的解决方案只是强制执行,所以我从0开始,然后在每一步中向上和向下一步,并检查它是否有效。它确实如此,但当然在浮动数字上确实很慢。总之,我需要一个像以下的功能:
getVar(sCalculation ["x = 5*x - 20"], sVar ["x"]) --> 5
你会怎么做? 如果您有任何疑问,请随时提出以下问题:
答案 0 :(得分:0)
您要么必须编写自己的解析器来计算x,要么只使用为您完成工作的库。有关SO的讨论很多。例如:Simplest way to solve mathematical equations in Python。
所以基本上你应该看看SymPy解决方程式的方法: http://docs.sympy.org/latest/tutorial/solvers.html#solving-equations-algebraically
solve([x = 5*x - 20], [x])
{x: 5}
修改强>
以下是您可能想要检查的另一个参考:How to calculate expression using sympy in python