《控制结构》PPT课件.ppt
《《控制结构》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《控制结构》PPT课件.ppt(39页珍藏版)》请在三一办公上搜索。
1、控制结构,循环语句,2,for循环:回顾,语法for in:语义循环标志变量var取遍序列sequence中的每个值;(该循环自动改变var的值)对var所取的每个值执行一遍循环体body计数循环循环次数是确定的,即序列的长度决定,3,编程实例:求平均值,需求:输入若干个数,求平均值.显然可用熟悉的累积器算法模式算法:输入数值个数n初始化累积变量sum=0循环n次输入数值x累加到sum输出平均值sum/n翻译到Python:avg1.py,4,while循环,avg1.py的缺点:需要用户输入n不适合事先不知道n的场合不知道n则不能用确定的计数循环for不确定的条件循环:while,5,whi
2、le循环,语法while:语义只要条件成立就反复执行循环体;当条件不成立则执行下一条语句,6,while循环的特点,循环前测试条件(pre-test)若不满足,则循环体一次都不执行循环体影响下一次条件测试否则导致无穷循环例如:for循环改写成while循环i=0#编程者设置while i 10:print i i=i+1#编程者设置若忘了最后一条语句会怎样?,条件,循环体,yes,no,7,常见循环模式:交互循环,用户根据需要来循环执行程序某一部分例如:avg2.py不输入n,由程序自己数输入的值的个数设置一个是否继续循环的标志初始化sum=0#求和初始化count=0#记录数据的个数初始化m
3、oredata=yeswhile moredata=yes:输入数据x 累积sum=sum+x 累积count=count+1 询问用户moredata?输出平均值sum/count,8,常见循环模式:哨兵循环,avg2.py不断要用户输入moredata,很烦人.改进:设置一个特殊数据值(称为哨兵)作为终止循环的信号对哨兵唯一的要求就是能与普通数据区分,9,常见循环模式:哨兵循环,模式输入第一个数据while 该数据不是哨兵:处理该数据 输入下一个数据编程实例:avg3.py(负数哨兵)(数据中有负数则无效)avg4.py(空串哨兵),10,常见循环模式:文件循环,avg1avg4都是交互式
4、输入数据的不便处理大数据量一个输入错误即导致需要重新运行程序改进:建立一个数据文件数据处理应用中广泛使用模式:打开数据文件ffor line in f.readlines():处理每个数据编程实例:avg5.py,11,常见循环模式:EOF哨兵循环,一次性读入readlines()一次性把文件的所有行都读入内存但内存是很有限的!可能无法运行分批读入(缓存)readline()每次读入一行需要哨兵(如:空行),标志文件结束(EOF)line=f.readline()while line!=“”:处理该行 line=f.readline()编程实例:avg6.py,12,常见循环模式:嵌套循环,嵌
5、套循环:一个循环语句的循环体内有另一个循环语句用途:遍历一维空间的元素只需一个循环变量,遍历二维空间的元素需要两个循环变量,遍历n维空间的元素需要n个循环变量如:矩阵for i in range(10):for j in range(20):print xij,13,常见循环模式:嵌套循环,例如:假设数据文件的每一行有多个数据.编程实例:avg7.py顶层循环仍如avg6.py但每次顶层循环内,需要另一个循环来处理该行上的多个数据,14,常见循环模式:嵌套循环,4-18题,word count 主要代码:lines=file.readlines()linecount=len(lines)wor
6、dcount=0charcount=0for line in lines:words=string.split(line)wordcount+=len(words)for word in words:charcount+=len(word)print linecount,wordcount,charcount,15,其他循环结构:后测试循环,问题:输入验证检查用户输入是否符合要求,不符合就要求用户重新输入,直至符合为止这是一种后测试循环:执行循环体后才测试条件循环体至少执行一次直至条件成立才退出循环有些语言提供repeatuntil语句,16,其他循环结构:后测试循环,Python未提供专门语
7、句但可用while实现,只需确保首次进入while时条件成立x=1while x 0:,17,break语句,语法:break语义:退出break所处循环(通常是无穷循环)应用例:实现后测试循环while 1:x=input(Enter a nonnegative number:)if x=0:break 两种希望:(1)本次循环到此为止,进入下次循环-continue(2)结束循环,退出循环体-break,18,break语句,比用一个非法值(如前面的1)来强制while循环一次的做法好.试一试:为两种做法都加一句数据错误报警信息慎用break(非正常控制流,破坏了程序结构)尤其是一个循环体
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制结构 控制 结构 PPT 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5010421.html