将字符串解析为Symphy方程时出现TypeError

2024-04-26 12:51:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用sympy方法sympy.parsing.sympy\u parser.parse\u expr将字符串解析为sympy表达式

这是有问题的字符串: '0*1(A*(n-1)**2+B*(n-1)+C)+1*1(A*(n-2)**2+B*(n-2)+C)+0.5*n**2+0.5*n-(A*n**2+B*n+C)'

相比之下,我有另一个方程式字符串,解析时没有问题:

'a_1 * (-0.500000000000000)**0+a_2 * (0.500000000000000)** - 1'

解析有问题的字符串时收到的错误消息如下:

eq = parse_expr(eq) File "###\Python37-32\lib\site-packages\sympy\parsing\sympy_parser.py", line 965, in parse_expr return eval_expr(code, local_dict, global_dict) File "###\Python\Python37-32\lib\site-packages\sympy\parsing\sympy_parser.py", line 878, in eval_expr code, global_dict, local_dict) # take local objects in preference File "<string>", line 1, in <module> TypeError: 'One' object is not callable

我知道有问题的字符串要复杂得多,但我在运算符的用法上找不到任何区别。我希望任何人都能告诉我为什么这个字符串会出现问题,而前一个字符串不会


Tags: 字符串inparserparseliblocallinesite