我正在编写一个程序来使用二次公式求解二次方程,但它仅在 a = 1 时有效,但我希望它在 a 大于 1 时工作
这是我的代码:
import math
def solve(a, b, c):
x = ((-1)* b + math.sqrt(b**2-4*a*c))/2*a
print "x = %s" %x
print "or"
y = ((-1)* b - math.sqrt(b**2-4*a*c))/2*a
print "x = %s" %x
while 1:
a = int(raw_input("Enter A :"))
b = int(raw_input("Enter B :"))
c = int(raw_input("Enter C :"))
solve(a, b, c)
它适用于 1,但是当我使用说 4 时使用多个数字时,我会收到此错误
Traceback (most recent call last):
File "C:\Documents and Settings\User\Desktop\Factor.py", line 18, in <module>
solve(a, b, c)
File "C:\Documents and Settings\User\Desktop\Factor.py", line 5, in solve
x = ((-1)* b + math.sqrt(b**2-4*a*c))/2*a
ValueError: math domain error
如果有帮助,有没有办法解决这个问题!