在之前的文章中,介绍了Python中的循环控制语句 while和 for。在循环执行过程中,我们可以使用 break 和 continue 语句来改变循环的流程。
通常情况下,while 循环判断执行一段代码,直到判断条件为 False或 for 循环迭代一个序列,直到迭代完序列的所有元素,此时会终止循环。但有时候,我们可能会希望不全部依赖循环的检测判断条件,当符合某种条件时就可以终止当前迭代,甚至是整个循环。这种情况下,就需要使用 break 和 continue 语句。
break 语句
break 用于终止循环语句。即使循环条件不是 False 或者序列还没被完全递归完,也会终止。
注意:
如果 break 语句在嵌套循环内,break 将终止最内层循环。
流程图:
以猜年龄为例,判断输入的数字是否等于30,当输入次数超过3次,中断输入:in_str=input("猜猜我的年龄:")
num=int(in_str)
count=0
whilenum!=30:
count+=1
ifcount==3:
print("机会用完了")
break
in_str=input("没猜对,继续猜:")
num=int(in_str)
运行程序,连续3次猜错,输出如下:猜猜我的年龄:1
没猜对,继续猜:2
没猜对,继续猜:3
机会用完了
continue 语句
continue 用于跳过当前循环中剩余的代码,然后继续下一次迭代。
流程图:
举例,在列表中保存多个姓名,循环列表,跳过名字为neil的列表元素,代码如下:print("开始点名了:")
names=["jack","hack","neil","jim"]
fornameinnames:
ifname=="neil":
continue
print(name)
运行程序,当遇到名字是neil时,跳过输出继续下一次循环,输出如下:开始点名了:
jack
hack
jim
另外,循环语句可以有 else 子句,它在完成序列迭代(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。
break和continue的根本区别:
break 用于终止整个循环;continue 用于跳出本次循环,还会继续下一次循环。