# -*- coding: utf-8 -*- import math def quadratic(a, b, c): #检测参数,有没有一次性检测多个参数的方法?除了再定义一个多参数检测的自定义参数 if not isinstance(a,(int,float)): raise TypeError('bad operand type') if not isinstance(b,(int,float)): raise TypeError('bad operand type') if not isinstance(c,(int,float)): raise TypeError('bad operand type') delta=b*b-4*a*c if delta == 0: x=-b/(2*a) return x elif delta < 0: return '方程无实数解' else: x1=(-b+math.sqrt(b*b-4*a*c))/(2*a) x2=(-b-math.sqrt(b*b-4*a*c))/(2*a) return x1,x2 # 测试: 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('测试成功')
运行结果:
quadratic(2, 3, 1) = (-0.5, -1.0) quadratic(1, 3, -4) = (1.0, -4.0) 测试成功
Sign in to make a reply
日暮归途风萧萧
运行结果: