循环中的pass、continue以及break

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunJW_2017/article/details/82966408

说明

passcontinue以及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执行后,不但其所属循环体的后续代码不再执行,而且该循环体的后续循环也不再执行,即该循环体结束了。但更高层的循环体可以继续执行。

总结

可以看出,无论是passcontinue还是break,其作用范围均为其所在的循环体内,这一点值得注意。

猜你喜欢

转载自blog.csdn.net/SunJW_2017/article/details/82966408