循环未按其应运行的次数运行

2024-04-16 13:48:52 发布

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

我使用for循环,它应该运行到给定列表中的项数。由于某种原因,它会跳过每个相邻的元素

snakes = [50, 23, 45, 67, 82]
ran = 0
for x, snake in enumerate (snakes):
    z = 0
    print("ran : ", ran)
    ran +=1
    while snake in snakes:
        z += 1
        if z == snake:
            print(x, snake)
            snakes.pop(x)

输出

ran :  0
0 50
ran :  1
1 45
ran :  2
2 82

1条回答
网友
1楼 · 发布于 2024-04-16 13:48:52

在for循环中,(x, snake)向上计数,0 1 2 3 4直到列表末尾,如下所示:

0  1  2  3  4
50 23 45 67 82

在第一个循环(0, 50)中,从蛇身上弹出50个,现在看起来像:

0  1  2  3
23 45 67 82

for循环已经完成了第一个循环,并转到元素1,现在是45

相关问题 更多 >