我是Python的新手,我不断收到以下错误
..., line 27, in <module>
eq=(p**2+2)/p/sqrt(p**2+4)
AttributeError: sqrt
我尝试添加math.sqrt
或numpy.sqrt
,但这些都不起作用。有谁知道我哪里出错了?
我的代码是:
from numpy import *
from matplotlib import *
from pylab import *
from sympy import Symbol
from sympy.solvers import solve
p=Symbol('p')
eq=(p**2+2)/p/sqrt(p**2+4)
solve(eq,1.34,set=True)
答案 0 :(得分:1)
sqrt在math模块中定义,以这种方式导入。这应该删除错误!
from math import sqrt
答案 1 :(得分:0)
你正在使用一个同情符号:你想要做数字sqrt(在这种情况下在实际数字上使用numpy.sqrt)或者你想要符号sqrt(在这种情况下使用sympy.sqrt)。每个导入都会替换当前命名空间中sqrt的定义,包括math,sympy或numpy。最好是明确而不是使用&#34; import *&#34;。
我怀疑从下面的行开始,你想在这里找到sympy.sqrt。