import math#调用math
def quadratic(a, b, c):
m=b**2-4*a*c
if not isinstance(a+b+c, (int,float)):
raise TypeError('error type')
elif m<=0:
return '无解'
else:
x1=(-b+math.sqrt(b**2-4*a*c))/(2*a)
x2=(-b-math.sqrt(b**2-4*a*c))/(2*a)
return x1,x2
x=quadratic(2, 4, 1)
# 测试:
print('quadratic(2, 3, 1) =', quadratic(2, 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('测试成功')
当m=0时,并非无解,只是两个解相等。
Sign in to make a reply
夜間急行列車4番線
import math#调用math
def quadratic(a, b, c):
m=b**2-4*a*c
if not isinstance(a+b+c, (int,float)):
raise TypeError('error type')
elif m<=0:
return '无解'
else:
x1=(-b+math.sqrt(b**2-4*a*c))/(2*a)
x2=(-b-math.sqrt(b**2-4*a*c))/(2*a)
return x1,x2
x=quadratic(2, 4, 1)
# 测试:
print('quadratic(2, 3, 1) =', quadratic(2, 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('测试成功')