目录
continue:结束本次循环
break:终止最近的整个循环
跳出多重循环
continue:结束本次循环
s = "python"
for i in s:if i == 'o':continueprint(i)
当i等于o时,结束整个循环,所以o和n都不打印出来
break:终止最近的整个循环
s = "python"
for i in s:if i == 'o':breakprint(i)
当i等于o时,只结束本次循环,所以o不打印出来,而下次循环不受影响,所以n会打印出来
跳出多重循环
for i in range(4):for j in range(4):if i==1 and j==2:breakprint(1,end=" ")
结果
break只能跳出多重循环中的最近的循环,以上代码打印了14个1,当外循环i等于0时,内循环进行4次也就是打印了4个1,当外循环i等于1时,内循环进行到j等于2时执行break语句,此时只会跳出内循环,所以i等于1时打印了,2个1,外循环依旧进行,外循环i从3开始,内循环进行4次打印了4个1,外循环i从4开始,内循环进行4次打印了4个1,所以一共打印了14个1
直接使用两个break是错误的,结果跟使用一个break一样
for i in range(4):for j in range(4):if i == 1 and j == 2:breakbreakprint(1,end=" ")
要想能跳出多重循环可以使用一个变量用于标记
flag = 0 # 跳出循环标记
for i in range(4):for j in range(4):if i == 1 and j == 2: # 满足跳出多重循环条件flag = 1 # 令标记等于1if flag == 1:break # 跳出内循环print(1, end=" ")if flag == 1:break # 跳出外循环
结果
打印了6个1,当i等于0时内循环进行4次打印了4个1,当i等于1时,内循环进行2次后j等于2,此时flag=1,使用了两个break跳出了两个循环,所以所有循环终止,只打印了6个1