1
Python编程从入门到实践
1.8.3.2 4.3.2 for语句
4.3.2 for语句

1.格式

2.功能

循环变量从遍历结构中逐一提取元素,对所提取的每个元素执行一次语句块,执行完后,返回,再取下一个值,再执行,……,直到遍历完成或发生异常退出循环。

其流程如图4-21所示。

图4-21 for语句的执行流程图

3.说明

①遍历结构后面要加冒号,循环体语句块通过与for语句所在行形成缩进来表达包含关系。

②循环变量可以扩展为变量表,变量与变量之间用逗号分开,遍历结构可以是序列、迭代器或其他支持迭代的对象。

【例4.14】用for语句实现例4.10。

程序如下:

运行结果如图4-22所示。

图4-22 运行结果

说明:本例中使用Python自带的range函数生成要遍历的数字序列。range函数的用法如下:

格式:range(start,end,step)

参数说明:

start:计数从start开始。start缺省时,默认是从0开始。例如,range(5)等价于range(0,5)。

end:计数到end结束,但不包括end。例如,range(0,5)生成的遍历数字序列是0,1,2,3,4;没有5。

step:步长,默认为1。例如,range(0,5)等价于range(0,5,1);range(1,10,3)生成数列1,4,7;range(-1,-10,-3)生成数列-1,-4,-7。

其中,start和step都是可以缺省的。

【例4.15】用for语句写程序,求自然数1~100之和。

程序如下:

运行结果如图4-23所示。

图4-23 运行结果

【例4.16】输入5个整数,求出其中的最大值与最小值。

分析:设输入的数存放在变量x中,最大值存放在变量max中,最小值存放在变量min中。

首先输入第一个值并作为max与min的初始值,然后每输入一个值,都将其与max和min进行比较:如果它大于max,则用它替代原来的max的值;如果它小于min,则用它替代原来的min的值。如此重复下去,max始终存放的是当前已输入数的最大值,min始终存放的是当前已输入数的最小值,直到第5个数输入完并比较完后,max就是最大值,min就是最小值。

程序如下:

运行结果如图4-24所示。

图4-24 运行结果

【例4.17】使用for循环遍历元组或列表。

在使用for循环遍历元组或列表时,列表或元组有几个元素,for循环的循环体就执行几次,针对每个元素执行一次,迭代变量会依次被赋为元素的值。

如下代码使用for循环遍历元组:

运行结果如图4-25所示。

图4-25 运行结果