当我运行它时,它说“类型'int'的参数是不可迭代的”,我该怎么办呢?

时间:2019-04-06 16:55:37

标签: python-3.x

这是python代码。我正在研究一个问题,这只是该程序的一部分代码?谁能帮我解决这个问题。我是初学者,所以请仔细解释。

def checking(p,q):
    for i in range(0,3):
        if q[i] == p[i]:
            print('Match')
        elif q[i] in p[i]:
            print('Close')
        else:
            print('Nope')

p = [2,5,7]
q = [3,6,7]
checking(p,q)

我希望将Match作为输出。但是实际输出是一个typeError:类型为'int'的参数是不可迭代的

1 个答案:

答案 0 :(得分:0)

您的问题是这一行:

        elif q[i] in p[i]:
            print('Close')

in对可迭代的内容(如列表和字典)进行操作。在这里,您尝试查看第一个列表中的项目是否是第二个列表中的项目的一部分,这就是python抱怨的原因:q[i]p[i]是整数,您尝试遍历第二秒,就像它是一个列表一样。

我认为这是一个错字,我建议:

        elif q[i] in p:
            print('Close')