首页 > 解决方案 > 当我运行它时,它说“'int'类型的参数不可迭代”我该怎么做才能解决它?

问题描述

这是一个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' 类型的参数是不可迭代的

标签: python-3.x

解决方案


你的问题是这一行:

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

in对可迭代的事物进行操作,例如列表和字典。在这里,您试图查看第一个列表中的项目是否是第二个列表中项目的一部分,这就是 python 抱怨的原因:两者q[i]都是p[i]整数,并且您尝试迭代第二个列表,就好像它是一个列表一样。

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

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

推荐阅读