Python:具有未定义变量(2*x+x = 3*x)的评估



我正在寻找一种方法来计算字符串,其中可能包括变量。 eval不会做这项工作,因为我想使用未定义的变量。我说的是一个函数,例如,它会"2*3*x"变成"6*x"

有没有功能?

您可以使用 sympy 进行符号计算:

In [126]: import sympy as sy
In [127]: sy.simplify('2*x+x')
Out[127]: 3*x

要将有理数转换为浮点数,请使用sy.nfloat

In [170]: sy.nfloat(sy.simplify('2*3+x+3/4'))
Out[170]: x + 6.75

我可能完全误解了你的问题,但你在 OP 中说:我说的是一个函数,它会变成2*3*x to 6*x 如果这是您需要的,那么它很容易,只需使用括号:

(2*3)*x

相关内容

  • 没有找到相关文章

最新更新