除了while语句外,Python还提供了另外一种功能强大的for语句循环结构。从可迭代对象(字符串、列表、元组、字典、迭代器等)的头部开始,依次选择每个元素并对其进行一些操作直到结束,这种处理模式被称为遍历。for语句用于遍历可迭代对象中的所有元素,遍历结束后可执行else子句。
for语句的一般格式:
for语句执行流程是:将序列对象中的元素逐个赋给循环变量,对每一次赋值者执行一遍循环体语句块。当序列遍历结束并且没有碰到break语句,就会检查其后面是否有else子句,如果有,则执行else子句;如果没有,则结束循环,执行其下面的语句。
例如:
程序运行结果如下:
for循环经常与range()函数配合使用。内建函数range()用于生成整数序列,通常的写法是:range(start,end,sep)。其中,start决定序列的起始值,起始值可以省略,省略时该值为0;end代表序列的终值,不包括end的值;step代表序列的步长,可以省略,默认值是1。
例如:
程序运行结果为“0 1 2 3 4 ”,不包括数字5。
例如:
程序运行结果为“2 5 8 11 14 ”。
【例3-13】编写程序,使用for语句实现【例3-10】,计算1+2+3+…+100的值。
分析:使用for语句使range()函数得到0~100的序列,并依次添加到总和中,因为range()不包含终值,所以终值设为101。
程序如下:
程序运行结果如下:
程序运行过程如图3-24、图3-25所示。
图3-24 程序运行过程1
图3-25 程序运行过程2
思考:计算1+3+5+…+99的值,程序如何修改?
【例3-14】编写程序,产生10个随机两位整数,求出其中的最大值。
分析:根据【例3-9】的分析,采用第3种算法,当产生第一个数时,直接赋值给max,从第2个数开始,顺序扫描每一个数,找到最大的那个数。
程序如下:(www.xing528.com)
程序运行结果如下:
程序运行过程如图3-26~图3-29所示。
图3-26 程序运行过程1
图3-27 程序运行过程2
图3-28 程序运行过程3
图3-29 程序运行过程4
【例3-15】编写程序,输出如图3-30所示的5行星号金字塔图案。
图3-30 星号金字塔
分析:图案共包含5行,每一行都由空格、星号和回车组成,由一条print语句实现。空格的数量从5、4、3、2、1依次变化,与行i的关系是5-i;星号的数量从1、3、5、7、9,与行的关系是2i-1。
程序如下:
程序运行过程如图3-31~图3-33所示。
图3-31 程序运行过程1
图3-32 程序运行过程2
图3-33 程序运行过程3
思考:输出如图3-34所示的n(n<10)行数字金字塔图案,程序如何修改?
图3-34 数字金字塔
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。