#判断三个参数的类型是否错误
if not (isinstance(a,(int,float)) and isinstance(b,(int,float)) and isinstance(c,(int,float))):
raise TypeError('bad operand type')
#判断a是否等于0
if a==0:
raise TypeError('a不能等于0')
import math
h=b**2-4*a*c
#判断根的个数,然后返回函数值;
if h>0:
print('有2个不同的根')
x1=(-b+math.sqrt(h))/(2*a)
x2=(-b-math.sqrt(h))/(2*a)
return x1,x2
elif h==0:
print('有2个相同的根')
x=-b/(2*a)
return x
else:
print('无解')
return None #可省略
花泽的类
-- coding: utf-8 --
import math
def quadratic(a, b, c):
print(quadratic(2, 3, 1)) # 2根 print(quadratic(1, 2, 1)) # 同根 print(quadratic(1, 1, 1)) # 无根
print(quadratic(0, 1, 1)) # 报错:a不能等于0