1.6 控制语句

程序设计中的控制语句有三种,即顺序、分支和循环语句。Python程序通过控制语句来管理程序流,完成一定的任务。程序流是由若干个语句组成的,语句既可以是一条单一的语句,也可以是复合语句。Python中的控制语句有以下3类。

分支语句:if。

循环语句:while和for。

跳转语句:break、continue和return。

1.6.1 分支语句

Python中的分支语句只有if语句。if语句有if结构、if…else…结构和if…elif…else…结构三种。

1. if结构

如果条件计算为True时就执行语句组,否则就执行if结构后面的语句,语法结构如下。

if结构示例代码如下。

示例代码运行后,输出结果如下。

2. if…else…结构

几乎所有的计算机语言都有if…else…结构,而且结构的格式基本相同,语法结构如下。

当程序执行到if语句时,先判断条件,如果值为True,则执行语句组1,然后跳过else语句及语句组2,继续执行后面的语句。如果条件为False,则忽略语句组1而直接执行语句组2,然后继续执行后面的语句。

if…else…结构示例代码如下。

示例代码运行后,输出结果如下。

3. if…elif…else…语法结构

if…elif…else…语法结构如下。

可以看出,if…elif…else…结构实际上是if…else…结构的多层嵌套,它明显的特点就是在多个分支中只执行一个语句组,而其他分支都不执行,所以这种结构可以用于有多种判断结果的分支中。

if…elif…else…结构示例代码如下。

示例代码运行后,输出结果如下。

1.6.2 循环语句

循环语句能够使程序代码重复执行。Python支持while和for两种循环类型。

1. while循环

while循环是一种先判断的循环结构,语法结构如下。

while循环没有初始化语句,循环次数是不可知的。只要循环条件满足,循环就会一直执行循环体。while循环中可以带有else语句。

示例代码如下。

示例代码运行后,输出结果如下。

2. for循环

for循环是应用最广泛、功能最强的一种循环语句。Python语言中没有C语言风格的for语句,它的for语句相等于Java中的增强for循环语句,只用于序列,序列包括字符串、列表和元组。

for循环的语法结构如下。

“序列”表示所有的实现序列的类型都可以使用for循环。“迭代变量”是从序列中迭代取出的元素。for循环中也可以带有else语句。

示例代码如下。

示例代码运行后,输出结果如下。

代码解释如下。

代码第①行中的“range(1,10)”函数是创建范围(range)对象,它的取值是“1≤range(1,10)<10”,步长为“1”,共9个整数,范围也是一种整数序列。

代码第②行中的“format”函数用于字符串格式化输出,{0}是占位符,format函数中的参数会在运行时替换占位符。

代码第③行是循环字符串“Hello”,字符串也是一个序列,所以可以用for循环变量。

代码第④行是定义整数列表。

代码第⑤行是遍历列表“numbers”。

1.6.3 跳转语句

跳转语句能够改变程序的执行顺序,可以实现程序的跳转。Python有3种跳转语句:break、continue和return。本节先介绍break和continue语句的使用方法。

1. break语句

break语句可用于while和for循环结构,它的作用是强行退出循环体,不再执行循环体中剩余的语句。

示例代码如下。

示例代码运行后,输出结果如下。

2. continue语句

continue语句用来结束本次循环,跳过循环体中尚未执行的语句,进行终止条件的判断,以决定是否继续循环。

示例代码如下。

示例代码运行后,输出结果如下。