我正在尝试使用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
我知道有问题的字符串要复杂得多,但我在运算符的用法上找不到任何区别。我希望任何人都能告诉我为什么这个字符串会出现问题,而前一个字符串不会
很抱歉在这里发布,我只是在变量之间和括号之间的表达式中遗漏了“*”。例如,此位有问题:
0*1(A*(n-1)**2+B*(n-1)+C)
将其更改为0*1*(A*(n-1)**2+B*(n-1)+C)
解析成功相关问题 更多 >
编程相关推荐