【我确保了输入的a,b,c一定是整数或浮点数】
import math
def quadratic(a,b,c):
if not isinstance(a,(int,float)):
raise TypeError('bad operand type')
elif not isinstance(b,(int,float)):
elif not isinstance(a,(int,float)):
elif (b*b-4*a*c)<0:
return('无解')
elif (b*b-4*a*c)==0:
x0=(-b)/(2*a)
return (x0)
else:
x1=(-b-math.sqrt(b*b-4*a*c))
x2=(-b+math.sqrt(b*b-4*a*c))
return(x1,x2)
print('quadratic(2,3,1)=',quadratic(2,3,1))
print('quadratic(1,3,-4)=',quadratic(1,3,-4))
print('quadratic(1.78,4.23,-4.8963)=',quadratic(1.78,4.23,-4.8963))
print('quadratic(1,6,9)=',quadratic(1,6,9))
if quadratic(2,3,1) != (-0.5,-1.0):
print('测试失败')
elif quadratic(1,3,-4) != (1.0,-4.0):
print('测试成功')
if quadratic(2,3,1) == (-0.5,-1.0):
elif quadratic(1,3,-4) == (1.0,-4.0):
Sign in to make a reply
做回自己ZXH
【我确保了输入的a,b,c一定是整数或浮点数】
import math
def quadratic(a,b,c):
if not isinstance(a,(int,float)):
raise TypeError('bad operand type')
elif not isinstance(b,(int,float)):
raise TypeError('bad operand type')
elif not isinstance(a,(int,float)):
raise TypeError('bad operand type')
elif (b*b-4*a*c)<0:
return('无解')
elif (b*b-4*a*c)==0:
x0=(-b)/(2*a)
return (x0)
else:
x1=(-b-math.sqrt(b*b-4*a*c))
x2=(-b+math.sqrt(b*b-4*a*c))
return(x1,x2)
print('quadratic(2,3,1)=',quadratic(2,3,1))
print('quadratic(1,3,-4)=',quadratic(1,3,-4))
print('quadratic(1.78,4.23,-4.8963)=',quadratic(1.78,4.23,-4.8963))
print('quadratic(1,6,9)=',quadratic(1,6,9))
if quadratic(2,3,1) != (-0.5,-1.0):
print('测试失败')
elif quadratic(1,3,-4) != (1.0,-4.0):
print('测试失败')
else:
print('测试成功')
if quadratic(2,3,1) == (-0.5,-1.0):
print('测试失败')
elif quadratic(1,3,-4) == (1.0,-4.0):
print('测试失败')
else:
print('测试成功')