Discuss / Python / 作答

作答

Topic source

RY

#1 Created at ... [Delete] [Delete and Lock User]
 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行会报错?

RY

#2 Created at ... [Delete] [Delete and Lock User]

求大佬解答

RY

#3 Created at ... [Delete] [Delete and Lock User]

加了第2、3行会报错

离群之刺

#4 Created at ... [Delete] [Delete and Lock User]

args是一个元组,第二行在判断一个元组是否是int或float类型,自然是错的。

weiwei

#5 Created at ... [Delete] [Delete and Lock User]

它是一个数组,需要取出来,一个一个来判断,

for i in args:

   if ....

晚安

#6 Created at ... [Delete] [Delete and Lock User]

  for i in args:

    if not isinstance(i,(int,float)):

      raise TypeError('please input int or float')


  • 1

Reply