首页 > 解决方案 > 为什么 j 在 while 循环中不增加?

问题描述

我是一个想要了解这个循环问题的初学者程序员。

for i in range(1, 5):
    j = 0
    while j < i:
        print(j, end=" ")
        j += 1

对于每次迭代,我需要在我的 while 循环中打印 j。我不明白为什么在第二次迭代中,j 被打印为 0 而不是 1。在我的思考过程中,我认为 j 在第一次迭代中增加 1,因为 0 < 1。请帮忙。提前致谢。

标签: pythonloopswhile-loop

解决方案


看看你什么时候做

while j <i:

这会一直运行到条件为真,所以在第二次迭代中,条件将为 1<1,这是错误的,所以它会返回并重新开始,其中 j 的值初始化为 0。忽略它你可以写

j=0
for i in range(1,5):   
     while j<i
     print(j)
     j+=1

推荐阅读