Python中while循环里的continue为何无法正常工作?
问题分析与解决
你的代码陷入了无限循环,因此没有任何输出,具体原因如下:
初始值x=0,进入while循环后,首先判断x%5==0——0除以5余数为0,条件成立,执行continue语句。continue会直接跳过循环体中剩余的代码(print和x=x+1),回到while的条件判断。此时x仍然是0,循环条件x<101永远成立,程序会一直卡在这个循环里,永远不会执行打印操作。
修复后的代码
方式一:在continue前先递增x
把x=x+1移到continue之前,确保遇到能被5整除的数时,x也能正常递增,避免无限循环:
x=0 while x < 101: if x % 5 == 0: x += 1 continue print(x, end=" ") x += 1
方式二:统一在循环末尾递增x
这种写法逻辑更清晰,直接判断当前数是否不能被5整除,满足条件就打印,最后不管是否打印都让x递增:
x=0 while x < 101: if x % 5 != 0: print(x, end=" ") x += 1
内容的提问来源于stack exchange,提问作者Sanjib Dey Choudhury
相关产品推荐
相关产品推荐

