首页 > 解决方案 > 有时为什么我们必须在 python 中将参数作为元组传递?

问题描述

所以我在 python 中编写了这个简单的程序,它有一个名为的函数num,它接受两个参数作为整数并检查是否有一些是“20”,如果是,那么它返回,True否则它返回False,你会注意到在if语句中我调用了另一个函数sum是python中的一个内置函数,所以当我尝试在这个函数中传递a and的值b而不将它们作为元组传递时,它会给我下面提到的错误,所以我的问题是为什么它在我工作时会起作用像这样sum((a,b))而不是这样通过它们sum(a,b)

 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))

标签: pythonfunctionmethodstuples

解决方案


Pythonsum()是一个内置函数,它接受一个迭代并返回其中项目的总和。

所以基本上你必须向它传递一个可迭代的对象(作为元组或列表)sum((a,b))而不是两个单独的对象sum(a, b)


推荐阅读