WithCoderWithCoderWithCoder

Python循环控制语句中的break和continue语句

    在之前的文章中,介绍了Python中的循环控制语句 while for。在循环执行过程中,我们可以使用 break 和 continue 语句来改变循环的流程。

    通常情况下,while 循环判断执行一段代码,直到判断条件为 False或 for 循环迭代一个序列,直到迭代完序列的所有元素,此时会终止循环。但有时候,我们可能会希望不全部依赖循环的检测判断条件,当符合某种条件时就可以终止当前迭代,甚至是整个循环。这种情况下,就需要使用 break 和 continue 语句。

    break 语句

    break 用于终止循环语句。即使循环条件不是 False 或者序列还没被完全递归完,也会终止。

    注意: 

    如果 break 语句在嵌套循环内,break 将终止最内层循环。

    流程图:

    1-20050R13103953.png

    以猜年龄为例,判断输入的数字是否等于30,当输入次数超过3次,中断输入:   

in_str = input("猜猜我的年龄:")
num = int(in_str)
count = 0
while num != 30:
    count += 1
    if count == 3 :
        print("机会用完了")
        break
    in_str = input("没猜对,继续猜:")
    num = int(in_str)

    运行程序,连续3次猜错,输出如下:

猜猜我的年龄:1
没猜对,继续猜:2
没猜对,继续猜:3
机会用完了

    continue 语句

    continue 用于跳过当前循环中剩余的代码,然后继续下一次迭代。

    流程图:

    1-20050R15121H2.png

    举例,在列表中保存多个姓名,循环列表,跳过名字为neil的列表元素,代码如下:

print("开始点名了:")
names = ["jack","hack","neil","jim"]
for name in names:
    if name == "neil":
        continue
    print(name)

    运行程序,当遇到名字是neil时,跳过输出继续下一次循环,输出如下:

开始点名了:
jack
hack
jim

    另外,循环语句可以有 else 子句,它在完成序列迭代(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。

    break和continue的根本区别: 

    break 用于终止整个循环;continue 用于跳出本次循环,还会继续下一次循环。

欢迎分享交流,转载请注明出处:WithCoder » Python循环控制语句中的break和continue语句