有问题哈
d = b*b - 4*a*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(c, (int, float)): raise TypeError('Bad Operand Type') elif a == 0: print('Not a Quadratic Equation') elif d < 0: print('Delta Smaller than 0, No Solution') else: x1 = (-b + math.sqrt(d))/(2*a) x2 = (-b - math.sqrt(d))/(2*a) return (x1,x2)
那些TypeError永远都起不了作用。
比如,
>>> quadratic(a,b,c) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined
测试
>>> quadratic(2,3,1) (-0.5, -1.0) >>> quadratic(a,b,c) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined >>> print(quadratic(2, 3, 1)) (-0.5, -1.0) >>> print(quadratic(1,3,-4)) (1.0, -4.0) >>> print(quadratic(0,2,1)) Not a Quadratic Equation None >>> print(quadratic(2,4,2)) (-1.0, -1.0) >>> print(quadratic(2,4,1)) (-0.2928932188134524, -1.7071067811865475) >>> print(quadratic(2,3,2)) Delta Smaller than 0, No Solution None >>> quadratic(2,3,2) Delta Smaller than 0, No Solution
Sign in to make a reply
老帕小帕
有问题哈
那些TypeError永远都起不了作用。
比如,
测试