【python】Python循环结构中else和break和continue用法
一、elese用法
Python 中,无论是 while 循环还是 for 循环,其后都可以紧跟着一个 else 代码块,它的作用是当循环条件为 False 跳出循环时,程序会最先执行 else 代码块中的代码。
上面程序中,当i==len(add)
结束循环时(确切的说,是在结束循环之前),Python 解释器会执行 while 循环后的 else 代码块。
那么,else 代码块真的没有用吗?当然不是。后续章节介绍 break 语句时,会具体介绍 else 代码块的用法。
以 while 循环为例,下面程序演示了如何为 while 循环添加一个 else 代码块:
add = "http://c.biancheng.net/python/" i = 0 while i < len(add): print(add[i],end="") i = i + 1 else: print("\n执行 else 代码块")
程序执行结果为:
http://c.biancheng.net/python/ 执行 else 代码块
二、break用法
我们知道,在执行 while 循环或者 for 循环时,只要循环条件满足,程序将会一直执行循环体,不停地转圈。但在某些场景,我们可能希望在循环结束前就强制结束循环,Python 提供了 2 种强制离开当前循环体的办法:
- 使用 continue 语句,可以跳过执行本次循环体中剩余的代码,转而执行下一次的循环。
- 只用 break 语句,可以完全终止当前循环。
本节先讲解 break 的用法,continue 语句放到下节做详细介绍。
break 语句可以立即终止当前循环的执行,跳出当前所在的循环结构。无论是 while 循环还是 for 循环,只要执行 break 语句,就会直接结束当前正在执行的循环体。
这就好比在操场上跑步,原计划跑 10 圈,可是当跑到第 2 圈的时候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了 break 语句提前终止了循环。
break 语句的语法非常简单,只需要在相应 while 或 for 语句中直接加入即可。例如如下程序:
break 语句可以立即终止当前循环的执行,跳出当前所在的循环结构。无论是 while 循环还是 for 循环,只要执行 break 语句,就会直接结束当前正在执行的循环体。
这就好比在操场上跑步,原计划跑 10 圈,可是当跑到第 2 圈的时候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了 break 语句提前终止了循环。
break 语句的语法非常简单,只需要在相应 while 或 for 语句中直接加入即可。例如如下程序:
add = "http://c.biancheng.net/python/,http://c.biancheng.net/shell/" # 一个简单的for循环 for i in add: if i == ',' : #终止循环 break print(i,end="") print("\n执行循环体外的代码")
运行结果为:
http://c.biancheng.net/python/
执行循环体外的代码
注意,通过前面的学习我们知道,for 循环后也可以配备一个 else 语句。这种情况下,如果使用 break 语句跳出循环体,不会执行 else 中包含的代码。举个例子:
add = "http://c.biancheng.net/python/,http://c.biancheng.net/shell/" for i in add: if i == ',' : #终止循环 break print(i,end="") else: print("执行 else 语句中的代码") print("\n执行循环体外的代码") 程序执行结果为: http://c.biancheng.net/python/ 执行循环体外的代码
三、continue的用法
和 break 语句相比,continue 语句的作用则没有那么强大,它只会终止执行本次循环中剩下的代码,直接从下一次循环继续执行。
仍然以在操作跑步为例,原计划跑 10 圈,但当跑到 2 圈半的时候突然接到一个电话,此时停止了跑步,当挂断电话后,并没有继续跑剩下的半圈,而是直接从第 3 圈开始跑。
continue 语句的用法和 break 语句一样,只要 while 或 for 语句中的相应位置加入即可。例如:
仍然以在操作跑步为例,原计划跑 10 圈,但当跑到 2 圈半的时候突然接到一个电话,此时停止了跑步,当挂断电话后,并没有继续跑剩下的半圈,而是直接从第 3 圈开始跑。
continue 语句的用法和 break 语句一样,只要 while 或 for 语句中的相应位置加入即可。例如:
add = "http://c.biancheng.net/python/,http://c.biancheng.net/shell/" # 一个简单的for循环 for i in add: if i == ',' : # 忽略本次循环的剩下语句 print('\n') continue print(i,end="") 运行上面程序,将看到如下运行结果: http://c.biancheng.net/python/ http://c.biancheng.net/shell/
可以看到,当遍历 add 字符串至逗号( , )时,会进入 if 判断语句执行 print() 语句和 continue 语句。其中,print() 语句起到换行的作用,而 continue 语句会使 Python 解释器忽略执行第 8 行代码,直接从下一次循环开始执行。