Python 基于字符串输入展开并简化表达式
我有一个纯文本输入,如Python 基于字符串输入展开并简化表达式,python,python-3.x,parsing,math,sympy,Python,Python 3.x,Parsing,Math,Sympy,我有一个纯文本输入,如“2(5x+4)+3(2x-1)”,我需要扩展和简化它。似乎symphy要求将其作为由python类型组成的python对象输入。有没有一种方法可以自动解析它/一个不需要它的库,这样我就可以给它一个字符串,它以人类可读的格式给我答案?您想使用函数,对于您的表达式,它将是这样的: sympify('2*(5*x+4) + 3*(2*x-1)') Symphy已经在symphy.parsing.symphy\u parser.parse\u expr下内置了这样一个解析器。要
“2(5x+4)+3(2x-1)”
,我需要扩展和简化它。似乎symphy
要求将其作为由python类型组成的python对象输入。有没有一种方法可以自动解析它/一个不需要它的库,这样我就可以给它一个字符串,它以人类可读的格式给我答案?您想使用函数,对于您的表达式,它将是这样的:
sympify('2*(5*x+4) + 3*(2*x-1)')
Symphy已经在
symphy.parsing.symphy\u parser.parse\u expr
下内置了这样一个解析器。要获得输入语句所需的结果,还必须添加隐式乘法
转换(因为sympy否则不会生成对2(
和5x
有意义的语句):
from sympy.parsing.sympy_parser import (
parse_expr,
standard_transformations,
implicit_multiplication,
)
parse_expr("2(5x+4) + 3(2x-1)", transformations=standard_transformations + (implicit_multiplication,))