>>> import math
>>> math.sqrt(4)
2.0
为什么Python不返回负数平方根(因为-2也是4的平方根)?
如何让Python返回负数平方根?
>>> import math
>>> math.sqrt(4)
2.0
为什么Python不返回负数平方根(因为-2也是4的平方根)?
如何让Python返回负数平方根?
>>> import numpy
>>> def root(n, r):
p = [1] + [0] * (r - 1) + [-n]
return numpy.roots(p)
>>> root(4, 2)
array([ 2., -2.])
>>> root(-4, 2)
array([ 0.+2.j, 0.-2.j])
>>> root(1, 3)
array([-0.5+0.8660254j, -0.5-0.8660254j, 1.0+0.j ])
另一个选择是使用Sympy 多项式模块
>>> from sympy import symbols, solve
>>> solve(x**2 - 4)
[-2, 2]
>>> from sympy import symbols, solve
>>> solve(x**2 - 4)
[-2, 2]
>>> solve(x**3 - 1)
[1, -1/2 - sqrt(3)*I/2, -1/2 + sqrt(3)*I/2]
>>> solve(x**2 + 4)
[-2*I, 2*I]
root(1, 3)
的意思是立方根吗? - confuseddef my_sqrt(x):
root1 = math.sqrt(x)
root2 = -root1
return root1,root2
x2 - 4 = 0
有两个根,即2
和-2
,但是平方根函数只有一个值,并且定义为正数的那个。 - millimoose-math.sqrt(4)
来得到你想要的结果。 - gefei4
有两个平方根,但“平方根函数”只被定义为返回正数。(因为数学函数只能对于给定的输入有值。) - millimoose