Discuss / Python / 作业

作业

Topic source
# -*- coding:utf-8 -*-

import math
def quadratic(a,b,c):
    if not isinstance(a,b,c,(int,float)):
        raise TypeError('bad operand type')
    delta=b*b-4*a*c
    if a==0:
        x0=-c/b
        return x0
    elif delta<0:
        return ('此方程无解')
    elif delta==0:
        x1=x2=-b/2*a
        return x1,x2
    else:
        x1=(-b+math.sqrt(delta))/2*a
        x2=(-b-math.sqrt(delta))/2*a
        return x1,x2

a=int(input('a:'))
b=int(input('b:'))
c=int(input('c:'))
print(quadratic(a,b,c))

这是我写的程序,为什么会出现这样的错误: Traceback (most recent call last): File "C:/Users/12485/Desktop/10.14.py", line 24, in <module> print(quadratic(a,b,c)) File "C:/Users/12485/Desktop/10.14.py", line 5, in quadratic if not isinstance(a,b,c,(int,float)): TypeError: isinstance expected 2 arguments, got 4 求大神帮忙!

类型检测错误 for i in [a, b, c]: if not isinstance(i, (int, float)): raise TypeError('bad operand type')

参数检查是不是只能一个一个来?

不能所有的a,b,c放在一起吧?

你把这两句检查参数类型的句子注释了就不报错了

这样啊,谢谢你啦


  • 1

Reply