【问题标题】:Python string expression evaluation with variable带变量的 Python 字符串表达式求值
【发布时间】:2019-02-21 08:48:02
【问题描述】:

我有一个表达式字符串“2 + (y * 11) = 42” 我打算将“y”隔离到 LHS 和 将字符串转换为“y = (42 - 2) / 11”

我该怎么做,我是 python3 的新手。 提前致谢。

【问题讨论】:

  • 看看sypmy
  • 问题只是通过在一侧隔离变量来转换字符串,而不是解决它。我不确定是否可以使用 sympy 或 z3 隔离变量。
  • ...隔离变量(在您的情况下)与求解方程相同。如果你不想使用sympy,我不确定你是否可以用更少的代码做到这一点。
  • 我需要做的就是在隔离变量的同时保持方程不变
  • 一般?或者只是一个线性方程?我仍然认为 sympy 是最简单的方法。

标签: string python-3.x logic


【解决方案1】:

如果你安装了sympy,你可以这样做:

from sympy.solvers import solve
from sympy import Symbol
y = Symbol('y')
sol = solve(2 + (y * 11) - 42, y)
print(sol)  # [40/11]

请注意,solve 将尝试在 LHS 上找到多项式的根 - 因此是 - 42

【讨论】:

  • 问题只是通过在一侧隔离变量来转换字符串,而不是解决它。我不确定是否可以使用 sympy 或 z3 隔离变量
猜你喜欢
  • 1970-01-01
  • 2023-03-15
  • 2011-09-30
  • 2015-11-28
  • 2011-04-13
  • 2014-07-16
  • 1970-01-01
  • 2017-01-18
  • 2018-07-11
相关资源
最近更新 更多