python for循环次数避坑

先看第一段代码:

for i in range(5):
    print(i)
    if i==1:
        i=i-1
        print("y")
结果:
0
1
y
2
3
4

这段代码按理说应该成为死循环,可是并没有,for循环依旧只执行了5次。
第二段代码:

array=[3,4,5]
for i in range(len(array)):
    array.append(i)
    print(i)
print(array)

结果:
0
1
2
[3, 4, 5, 0, 1, 2]

并没有因为array的增加而增加for循环次数。

以上两端代码说明了在python的for循环中,循环次数是初始写好的,无法通过改变变量而改变循环次数,若需要改变循环次数可以使用while

c=True
i=1
while(i<3):
    print(i)
    if i==1 and c:
        i=i-1
        c=False
    i+=1
结果:
1
1
2
array=[3,4,5]
i=0
while(i<len(array)):
    array.append(i)
    print(i)
    i+=1
    if i>5:
        break
print(array)
结果:
0
1
2
3
4
5
[3, 4, 5, 0, 1, 2, 3, 4, 5]
    原文作者:遨游的菜鸡
    原文地址: https://blog.csdn.net/qq_34405401/article/details/113762530
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞