import math
def quadratic(a, b, c):
for i in (a, b, c):
if not isinstance(i, (int, float)):
raise TypeError('Bad operand type')
if a == 0:
return 'Error, a = 0'
else:
discriminant = b**2 - 4*a*c
if discriminant <= 0:
return 'no answer'
elif discriminant == 0:
x = (-b + math.sqrt(discriminant))/(2*a)
return x, x
x1 = (-b + math.sqrt(discriminant))/(2*a)
x2 = (-b - math.sqrt(discriminant))/(2*a)
return x1, x2
print('quadratic(0, 3, 1) =', quadratic(0, 3, 1))
print('quadratic(1, 3, -4) =', quadratic(1, 3, -4))
if quadratic(2, 3, 1) != (-0.5, -1.0):
print('测试失败')
elif quadratic(1, 3, -4) != (1.0, -4.0):
print('测试成功')
Sign in to make a reply
企鹅摇一摇
import math
def quadratic(a, b, c):
for i in (a, b, c):
if not isinstance(i, (int, float)):
raise TypeError('Bad operand type')
if a == 0:
return 'Error, a = 0'
else:
discriminant = b**2 - 4*a*c
if discriminant <= 0:
return 'no answer'
elif discriminant == 0:
x = (-b + math.sqrt(discriminant))/(2*a)
return x, x
else:
x1 = (-b + math.sqrt(discriminant))/(2*a)
x2 = (-b - math.sqrt(discriminant))/(2*a)
return x1, x2
print('quadratic(0, 3, 1) =', quadratic(0, 3, 1))
print('quadratic(1, 3, -4) =', quadratic(1, 3, -4))
if quadratic(2, 3, 1) != (-0.5, -1.0):
print('测试失败')
elif quadratic(1, 3, -4) != (1.0, -4.0):
print('测试失败')
else:
print('测试成功')