【发布时间】:2020-04-22 13:24:05
【问题描述】:
所以我用python编写了这个简单的程序,它有一个名为num的函数,它接受两个参数作为整数并检查是否有一些是“20”,如果是,则返回True,否则返回@987654324 @ 你会注意到在if 语句中我调用了另一个函数sum 这是python 中的一个内置函数,所以当我尝试在这个函数中传递a 和b 的值而不传递它们作为 tuple 然后它给了我下面提到的错误,所以我的问题是,为什么当我像这样 sum((a,b)) 而不是这样 @ 传递它们时它会起作用987654330@
File "c.py", line 8, in <module>
print(num(220,10))
File "c.py", line 3, in num
if sum(a,b) == 20:
TypeError: 'int' object is not iterable
def num(a,b):
if sum(a,b) == 20:
return True
else:
return False
print(num(220,10))
【问题讨论】:
-
sum() 是一个在一个可迭代的列表中汇总所有整数的函数。所以只需使用“+”运算符(如果 a + b == 20: ...)
-
sum需要一个可迭代的(列表、元组...):docs.python.org/3/library/functions.html#sum -
如果你要列出操作数,这个函数有点没有意义,因为你可以做
a+b+...+x并且更简洁
标签: python function methods tuples