循环中的pass、continue以及break
程序员文章站
2024-03-23 18:20:04
...
说明
pass
、continue
以及break
常用于控制循环的运行,它们的功能如下:
-
pass
:即“通过”的意思,程序运行至pass
处会继续运行后续的部分 -
continue
:即“继续”的意思,程序运行至continue
处将不再运行位于其下方的、且与continue
包含在同一最底层循环中的所有代码,而是运行该循环体的下一次循环 -
break
:即“打断”的意思,程序运行至break
处将不再运行其所在的最底层的循环体的后面的所有代码,也不会运行该循环体的后续所有循环
例子
pass
的例子
for i in range(2):
for j in range(3):
if j == 2:
pass
print("still run")
else:
print('j =',j,',','i =',i)
print('*'*10)
输出为:
j = 0 , i = 0
**********
j = 1 , i = 0
**********
still run
**********
j = 0 , i = 1
**********
j = 1 , i = 1
**********
still run
**********
可以看出,pass
之后的同级语句仍可以运行。
continue
的例子
for i in range(2):
for j in range(4):
if j == 2:
continue
print("cannot run")
else:
print('j =',j,',','i =',i)
print(j,'*'*10) #与continue不是同级代码,但位于同一循环变量为j的for循环
运行结果为:
j = 0 , i = 0
0 **********
j = 1 , i = 0
1 **********
j = 3 , i = 0
3 **********
j = 0 , i = 1
0 **********
j = 1 , i = 1
1 **********
j = 3 , i = 1
3 **********
可以看出,当continue
运行时,其所属的最底层循环体之内的所有的位于continue
之后的语句均不执行,无论是否与continue
同级。即程序进入了上述循环体的下一次循环。
break
的例子
for i in range(2):
for j in range(4):
if j == 2:
break
print("cannot run")
else:
print('j =',j,',','i =',i)
print(j,'*'*10)
运行结果如下:
j = 0 , i = 0
0 **********
j = 1 , i = 0
1 **********
j = 0 , i = 1
0 **********
j = 1 , i = 1
1 **********
可以看出,break
执行后,不但其所属循环体的后续代码不再执行,而且该循环体的后续循环也不再执行,即该循环体结束了。但更高层的循环体可以继续执行。
总结
可以看出,无论是pass
、continue
还是break
,其作用范围均为其所在的循环体内,这一点值得注意。
上一篇: 判断成绩类型