def mul(*args): if not isinstance(args, (int, float)): raise TypeError('bad operand') s = 1 for n in args: s = s*n #要用同一个s,为了循环 return s print(mul(2,3,4,5)) #总结:为什么加了63,64行会报错?
求大佬解答
加了第2、3行会报错
args是一个元组,第二行在判断一个元组是否是int或float类型,自然是错的。
它是一个数组,需要取出来,一个一个来判断,
for i in args:
if ....
if not isinstance(i,(int,float)):
raise TypeError('please input int or float')
Sign in to make a reply
RY