为什么结果是1,不太懂

img

不懂,为什么结果是1,有点😵,希望可以帮忙解答一下这个过程xx

lst=[0,1,1,1,1] 
k = 0 
for count in range(4):
    t = 0 
    while t<3: 
        k = k % 4 + 1 
        if lst[k] != 0: 
            t += 1 
    lst[k] = 0 
    print(k)

程序输出
3
2
4
1

执行 k = k % 4 + 1,此时lst是 [0, 1, 1, 1, 1] , k= 1
执行 k = k % 4 + 1,此时lst是 [0, 1, 1, 1, 1] , k= 2
执行 k = k % 4 + 1,此时lst是 [0, 1, 1, 1, 1] , k= 3
3
执行 k = k % 4 + 1,此时lst是 [0, 1, 1, 0, 1] , k= 4
执行 k = k % 4 + 1,此时lst是 [0, 1, 1, 0, 1] , k= 1
执行 k = k % 4 + 1,此时lst是 [0, 1, 1, 0, 1] , k= 2
2
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 1] , k= 3
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 1] , k= 4
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 1] , k= 1
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 1] , k= 2
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 1] , k= 3
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 1] , k= 4
4
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 0] , k= 1
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 0] , k= 2
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 0] , k= 3
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 0] , k= 4
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 0] , k= 1
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 0] , k= 2
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 0] , k= 3
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 0] , k= 4
执行 k = k % 4 + 1,此时lst是 [0, 1, 0, 0, 0] , k= 1
1

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^