python 里的 continue 和 break 语法理解

continue 的作用:只要程序遇到 continue ,本次循环就不继续了,直接进入下一次循环

 

break 的作用:只要程序遇到 break ,就会结束当前这个循环。注意如果是多层嵌套循环,只结束当前这一层的循环。

____________________________________________________________________________________________

要求跳过第三层

 

continue:

for i in range(1,5):
    print(f"----------{i}层----------")
    for j in range(1,6):
        if i == 3:
            continue
        print(f"L{i}-{i}0{j}室")




#执行结果
----------1层----------
L1-101室
L1-102室
L1-103室
L1-104室
L1-105室
----------2层----------
L2-201室
L2-202室
L2-203室
L2-204室
L2-205室
----------3层----------
----------4层----------
L4-401室
L4-402室
L4-403室
L4-404室
L4-405室

break:

for i in range(1,5):
    print(f"----------{i}层----------")
    for j in range(1,6):
        if i == 3:
            #print("-")
            break
        print(f"L{i}-{i}0{j}室")


#执行结果
----------1层----------
L1-101室
L1-102室
L1-103室
L1-104室
L1-105室
----------2层----------
L2-201室
L2-202室
L2-203室
L2-204室
L2-205室
----------3层----------
----------4层----------
L4-401室
L4-402室
L4-403室
L4-404室
L4-405室

可以看见第三层无论 continue 还是 break 是没有输出的,那么真的跳过了吗,看下面代码

continue:

----------1层----------
L1-101室
L1-102室
L1-103室
L1-104室
L1-105室
----------2层----------
L2-201室
L2-202室
L2-203室
L2-204室
L2-205室
----------3层----------
-
-
-
-
-
----------4层----------
L4-401室
L4-402室
L4-403室
L4-404室
L4-405室

break:

----------1层----------
L1-101室
L1-102室
L1-103室
L1-104室
L1-105室
----------2层----------
L2-201室
L2-202室
L2-203室
L2-204室
L2-205室
----------3层----------
-
----------4层----------
L4-401室
L4-402室
L4-403室
L4-404室
L4-405室

可以看到 continue 第三层小循环每一次都执行了,只是没有显示内容。break 判断了一次跳过了该次小循环。

 

————————————————————————————————————————————————

 

但是我们要的是跳出第三层小循环,刚才那个肯定不行,那么怎么改呢?

continue:

for i in range(1,5):
    print(f"----------{i}层----------")
    if i == 3:
        print("三层不通")
        continue
    for j in range(1,6):
        print(f"L{i}-{i}0{j}室")


#执行结果
----------1层----------
L1-101室
L1-102室
L1-103室
L1-104室
L1-105室
----------2层----------
L2-201室
L2-202室
L2-203室
L2-204室
L2-205室
----------3层----------
三层不通
----------4层----------
L4-401室
L4-402室
L4-403室
L4-404室
L4-405室

我们把 continue 放在外层,可以看到,跳过了第三层循环。

 

那么 break 放在外层会是什么效果呢:

for i in range(1,5):
    print(f"----------{i}层----------")
    if i == 3:
        print("三层不通")
        break
    for j in range(1,6):
        print(f"L{i}-{i}0{j}室")


#执行结果

 ----------1层----------
 L1-101室
 L1-102室
 L1-103室
 L1-104室
 L1-105室
 ----------2层----------
 L2-201室
 L2-202室
 L2-203室
 L2-204室
 L2-205室
 ----------3层----------
 三层不通

可以看到 break 到第三层小循环直接结束了进程。

 

——————————————————————————————————————————————

新需求:跳过 404 ,继续走

我们需要判断两个值,i 的层数为 4 ,j 的房间号也为 4 。

 

break:

for i in range(1,6):
    print(f"----------{i}层----------")
    if i == 3:
        print("三层不通")
        continue
    for j in range(1,6):
        if i == 4 and j == 4:
            print("遇到 404 房间,不吉利,跳过")
            break
        print(f"L{i}-{i}0{j}室")


#执行结果
----------1层----------
L1-101室
L1-102室
L1-103室
L1-104室
L1-105室
----------2层----------
L2-201室
L2-202室
L2-203室
L2-204室
L2-205室
----------3层----------
三层不通
----------4层----------
L4-401室
L4-402室
L4-403室
遇到 404 房间,不吉利,跳过
----------5层----------
L5-501室
L5-502室
L5-503室
L5-504室
L5-505室

continue:

for i in range(1,6):
    print(f"----------{i}层----------")
    if i == 3:
        print("三层不通")
        continue
    for j in range(1,6):
        if i == 4 and j == 4:
            print("遇到 404 房间,不吉利,跳过")
            continue
        print(f"L{i}-{i}0{j}室")


#执行结果
----------1层----------
L1-101室
L1-102室
L1-103室
L1-104室
L1-105室
----------2层----------
L2-201室
L2-202室
L2-203室
L2-204室
L2-205室
----------3层----------
三层不通
----------4层----------
L4-401室
L4-402室
L4-403室
遇到 404 房间,不吉利,跳过
L4-405室
----------5层----------
L5-501室
L5-502室
L5-503室
L5-504室
L5-505室

 

这里使用 continue 结束本次 404 小循环,继续下一个小循环 405

break 到了 404 结束了本轮循环,进入下一层循环 

 

posted @ 2021-11-14 22:38  公博义  阅读(845)  评论(0编辑  收藏  举报