Python 同向错误';符号';对象不可调用

Python 同向错误';符号';对象不可调用,python,symbols,sympy,solver,Python,Symbols,Sympy,Solver,当给定x和y的值时,我试图求解r的方程。为了做到这一点,我使用了Symphy的求解能力。我的密码是 import numpy as np import matplotlib.pyplot as plt from sympy import solve from sympy import Symbol from sympy import acos,sin x=2 y=-2 r=Symbol("r",real=True) solve(r(acos(1.0-(y/r)))-sin(acos(1.0-(

当给定x和y的值时,我试图求解r的方程。为了做到这一点,我使用了Symphy的求解能力。我的密码是

import numpy as np
import matplotlib.pyplot as plt
from sympy import solve
from sympy import Symbol
from sympy import acos,sin

x=2
y=-2
r=Symbol("r",real=True)
solve(r(acos(1.0-(y/r)))-sin(acos(1.0-(y/r)))-x)
当我运行代码时,它会告诉我错误

'Symbol' object is not callable
line 10, in <module>
    solve(r(acos(1.0-(y/r)))-sin(acos(1.0-(y/r)))-x)
“Symbol”对象不可调用
第10行,在
求解(r(acos(1.0-(y/r)))-sin(acos(1.0-(y/r)))-x)

我导入numpy和matplotlib的原因是我将在稍后的代码中使用它们。谢谢你的帮助

该错误将指导您查找什么:正在调用的符号。在Python语法中,这是一个符号,后跟一对括号,括号之间有一个或多个参数。您可能打算在表达式的第一个参数中乘以
r

>>> solve(r(acos(1.0-(y/r)))...
           ^__make that r*acos(1.0-(y/r))...

在这些情况下,突出显示匹配括号的编辑器(如repl.it上Python代码的在线编辑器)可能会有所帮助。括号可以是分组,或者在Python名称之后作为传递给函数的参数的分隔符。

如果要将r与括号中的部分相乘,请写出r*(…)@Michael您尝试过您的建议吗?@NicolasGervais不,说实话。当然,第一个“acos(…)”表达式周围的括号也可以省略,但我看不出这会有什么不同。它不适用于我