与其他问题不同,我使用循环结构得到此错误而没有。
这是代码
def makes_twenty(n1,n2):
return ( (sum(n1, n2) == 20) or ((n1 == 20) or (n2 == 20)) )
我收到的错误-
'int' object is not iterable
Screenshot of the code with error
具有讽刺意味的是,如果我改变这个东西-
sum(n1, n2)
变成这样的东西-
(n1 + n2)
该代码工作正常。
Screenshot of corrected code
我不知道这里发生了什么。
答案 0 :(得分:1)
python中的sum
函数采用第一个参数作为可迭代对象。您可以在n1
之类的列表中传递n2
和sum([n1, n2])
。由于n1
是整数sum
函数无法对其进行循环,因此错误'int' object is not iterable
。
希望这会有所帮助。