Python中continue语句未正常执行问题求助
问题原因
当代码执行到i=2时,if i==2条件成立,触发continue语句,直接跳过了后面的print(i)和i+=1。这就导致i的值一直卡在2,永远满足i<10的循环条件,程序进入死循环,所以输出到1之后就停住了。
两种修复方法
方法一:把
i+=1移到判断前
把变量递增的操作放到循环最开头,这样不管是否触发continue,i都会先完成递增,避免死循环:i=0 while i<10: i+=1 if i==2: continue print(i)注:这样输出会从1到9,跳过2,如果需要保留原逻辑里的0、1输出,看第二种方法。
方法二:在
continue前先递增i
在if分支里,触发continue之前先执行i+=1,让i的值先更新,再进入下一次循环:i=0 while i<10: if i==2: i+=1 continue print(i) i+=1这个版本会保留原逻辑的输出:0、1,然后跳过2,继续输出3到9。
修复后输出
0 1 3 4 5 6 7 8 9
内容的提问来源于stack exchange,提问作者SAARA UNNATHI R
相关产品推荐
相关产品推荐

