我如何修复ValueError:数学域错误

时间:2018-01-20 03:23:58

标签: python python-3.x

为什么这段代码不能解决x1的二次函数

二次方程

的解

a * x ** 2 + b * x + c = 0

import math

def fn(a,b,c):
    return (-b+math.sqrt(b**2-4*a*c))/2*a

print(fn(34,68,510))

1 个答案:

答案 0 :(得分:2)

该二次方(34x ^ 2 + 68x + 510)的根是复杂的。 math.sqrt是真实价值的 - 它不会带来负值。您需要import cmathcmath.sqrt来复杂值的平方根。