大学Python学习课件第7讲-循环结构-for_第1页
大学Python学习课件第7讲-循环结构-for_第2页
大学Python学习课件第7讲-循环结构-for_第3页
大学Python学习课件第7讲-循环结构-for_第4页
大学Python学习课件第7讲-循环结构-for_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机基础与应用(II)(经管类)

——计算思维与Python程序设计第7讲

循环结构-for上一讲回顾While循环的特点While语句之前有一个为循环控制变量赋初值的语句循环体中有表达式来改变循环控制变量的值本讲内容for循环语句循环应用举例continue语句循环体是否还有值未取吗?for语句Python提供的另一个循环机制是for语句,它提供了Python中最强大的循环结构。Python中的for语句接受可迭代对象(例如序列或迭代器)作为其参数,每次迭代其中的一个元素。for语句的执行过程是:每次循环,判断循环索引值是否还在序列中,如果在,取出该值提供给循环体内的语句使用;如果不在,则结束循环。for

取值in序列:

循环体循环体是否还有值未取吗?Else语句块for变量in序列或迭代器:

循环体else:

else语句块for循环正常退出后,执行else语句块;如果是因为执行循环体中的break语句而导致循环退出,else语句块不会执行。for语句for语句用于序列类型列表、元组、字符串都是序列。序列类型有着相同的访问模式:它的每一个元素可以通过指定一个偏移量的方式得到;而多个元素可以通过切片操作的方式得到。序列操作可以通过很多内建函数来实现,这些内建函数的实现都离不开循环结构。求序列长度len();求最大值max();最小值min();求和sum();排序sorted()等示例1-通过序列索引进行迭代(方法一)【示例1】创建1个由分数构成的列表,求出所有分数的平均分。方法一:使用Python的内建函数sum()求和,然后再求平均分。程序保存为07_aver1.py示例1-方法1程序思考题如果不用sum函数,如何利用while循环计算列表中的和?程序示例示例1-通过序列索引进行迭代(方法二)方法二:使用for语句,通过序列索引进行迭代。程序保存为07_aver2.py【分析】要求得列表元素的平均值,首先要使用循环结构求得所有元素的总和,然后再将总和除以元素个数即可得到列表元素平均值。示例1-方法2程序说明for循环的表达式中使用内建函数len()获得score序列长度;使用range()函数创建了要迭代的序列[0,1,2,3,4,5,6,7],变量i对该列进行迭代,每循环一次取出列表中的一项作为列表元素的下标。本题用到成员测试运算符“in”,如果成员在序列中,测试结果为“True”,否则为“False”。range()函数说明内建函数range(),range(start,end,step)range()函数会产生1个包含所有等差数列级数k的列表,k的范围start<=k<end,k每次递增step,step不能为0作用:产生一个列表参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0,

5),结果是[0,1,2,3,4]end:计数到end结束,但不包括end。例如:range(0,

5)的结果是[0,1,2,3,4]没有5step:每次跳跃的间距,默认为1。例如:range(0,

5)等价于range(0,5,1);Step值可以为负数,如果为负数,则start的值大于end的值示例1-方法2程序示例1-通过序列索引进行迭代(方法三)方法三:使用for语句,通过序列项运算。程序保存为07_aver3.py

循环嵌套循环的嵌套是指在一个循环中又包含另外一个完整的循环,即循环体中又包含循环语句。循环嵌套的执行过程是:一次外循环对应着完整的一轮内循环。while循环和for循环可以相互嵌套。示例2-利用for语句实现双层循环嵌套【示例2】使用for循环的嵌套结构打印9-9乘法表。程序保存为07_comp.py【分析】9-9乘法表由9行组成,每行的列数有规律地递增。通过观察可以看出,表达式“X*Y=Z”中的X是内循环变量j的取值,Y是外循环变量i的取值,Z是X乘以Y的结果。示例2-程序循环应用-示例3求以下表达式的值,其中n值从键盘输入。参考值:当n=11时,s=1.833333。程序保存为07_series.py【分析】以上问题属于数学中的级数求和问题,是使用循环结构解决的一类常见问题。级数求和编程的重点在于找到表达式的规律,分析每次循环都要完成的事件,写出“通式”。该题的通式有以下几个:分母的通式(所有分母看成:0+1+2+…+i):mu=mu+i(mu初值为0,i初值为1)当前项的通式:t=1.0/mu求和的通式:s=s+t变量i的通式:i=i+1示例3程序循环结构示例:示例4【例4】求1~100之间能被7整除,但不能同时被5整除的所有整数。程序保存为07_division.py。【分析】本题需要对1~100范围内的所有数一一进行判断。本题的循环次数确定是100次。在每次循环过程中需要用if语句进行条件判断。因此本题是循环嵌套选择的结构。示例4:程序示例4:思考请问语句“i+=1”可以和语句“printi,'\t'”对齐吗?示例4:思考如果使用for循环该如何实现?continute语句continue语句的作用是终止本次循环,并忽略循环体中continue之后的语句,然后回到循环的顶端,继续执行下一次循环。【例4-17】求200以内能被17整除的所有正整数,并统计满足条件的数的个数。循环结构示例:示例5【例5】输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。程序保存为narcissus.py。例如:153是水仙花数,因为153=13+53+33。【分析】本题需要对100~999范围内的所有数一一进行判断。本题的变量i既是循环变量,同时也是被判断的数。每次循环过程中需要用if语句进行条件判断。因此本题也是循环嵌套选择的结构。示例5程序思考题while循环与for循环在用法上有哪些区别?课堂练习与课后作业课堂练习本讲课件所有示例教材第四章剩余的例子课后作业P75:1,9已知期末考试成绩:[91,89,76,67

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论