我的for循环不会重复正确的条件

2024-09-29 17:15:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码有什么问题吗?它应该运行500次左右。但是在它附加一次之后,在满足下一个elif条件之前,它不会再次附加。你知道吗

for x in range(lengthOfListedContent):

    if listed_content[x][0] is books[0]:
        notes[0].append(listed_content[x][2])
        print(x)
    elif listed_content[x][0] is books[1]:
        notes[1].append(listed_content[x][2])
        print(x)
    elif listed_content[x][0] is books[2]:
        notes[2].append(listed_content[x][2])
        print(x)
    elif listed_content[x][0] is books[3]:
        notes[3].append(listed_content[x][2])
        print(x)
    else:
       print('fail')

这是我得到的结果:

0
1
fail
fail
5
fail
fail
fail
9
fail
fail

它应该在每次迭代时追加,但只在满足条件的第一次迭代时追加。我不知道为什么它只是跳过,直到下一个elif条件得到满足。我盯着屏幕看了好几个小时了。你知道吗

抱歉,如果这一切都很复杂,我还是新来的。。你知道吗


Tags: 代码inforisrangecontent条件books
1条回答
网友
1楼 · 发布于 2024-09-29 17:15:39

在两个参数之间使用is是比较它们的id而不是它们的值。你知道吗

is测试的是同一性,而不是相等性

将带有is的所有行更改为==

发件人:

if listed_content[x][0] is books[0]:

收件人:

if listed_content[x][0] == books[0]:

相关问题 更多 >

    热门问题