* * End * * 数据处理的流程控制 循环控制结构 * * * 为什么需要循环? 有时需要重复做相同或相似的事情,程序中如何表达? 例如:在屏幕上显示1~5 print 1 print 2 print 3 print 4 print 5 繁琐且不具有扩展性(显示1~10000怎么办?) 循环:用很少的语句表达重复执行的很多语句. * * * for循环 语法 for 循环控制变量 in 序列: 循环体 语义:令循环控制变量取遍序列中的每个值,并对变量所取的每个值执行一遍循环体. 例如: for i in [1,2,3,4,5]: print i 显示1~10000:用[1,2,...,10000]显然不合适,可以用range() * * * * for循环的流程图 * for语句中序列的作用 计数器:序列只是用来控制循环的次数. for i in range(10): print 烦 循环体不引用循环变量. 数据:序列本身是循环体处理的数据. for i in range(10): print i*i 循环体引用循环变量. 两种遍历方式(见下一页) * 用for处理序列数据 直接遍历序列 data = [Born on:,July,2,2005] for d in data: print d, 通过索引遍历序列 data = [Born on:,July,2,2005] for i in range(len(data)): print data[i], 可以更灵活地处理序列数据,如 for i in range(0,len(data),3): ... * * 用for处理各种序列数据 字符串 for c in hello world: print c 元组 for i in (1,2,3): print i 嵌套序列:如元组的列表 for t in [(1,2),(3,4),(5,6)]: print t,t[0],t[1] * * * * while循环 for主要用于确定次数的循环 不确定次数的循环:while while 布尔表达式: 循环体 * * * while循环的特点 循环前测试条件 若不满足,则循环体一次都不执行 循环体必须影响下一次条件测试! 否则导致无穷循环 例如:for循环改写成while循环 i = 0 while i 10: print i i = i + 1 若忘了最后一条语句会怎样? 常用循环模式:交互循环 根据用户交互来决定是否循环下去 例:求和 sum = 0 moredata = yes while moredata[0] == y: x = input(Input a number: ) sum = sum + x moredata = raw_input(More?(yes/no)) print The sum is, sum * 常用循环模式:哨兵循环 交互循环不断要用户输入moredata,很烦人. 改进:设置一个特殊数据值(称为哨兵)作为终止循环的信号. 对哨兵唯一的要求就是能与普通数据区分 算法模式: 前导输入 while 该数据不是哨兵: 处理该数据 循环尾输入(下一个数据) * 哨兵循环例(1) 正常数据是非负数,则可以-1作为哨兵: sum = 0 x = input(Input a number (-1 to quit): ) while x = 0: sum = sum + x x = input(Input a number (-1 to quit): ) print The sum is, sum * * 哨兵循环例(2) 正常数据是任何实数,则可以空串作为哨兵: sum = 0 x = raw_input(Input a number (Enter to quit): ) while x != : sum = sum + eval(x) x = raw_input(Input a number (Enter to quit): ) print The sum is, sum * * 常用循环模式:后测试循环 输入验证问题: 检查用户输入是否符合要求,不符合就要求用户重新输入,直至符合为止. 这是一种后测试循环: 执行循环体后才测试条件 循环体至少执行一次 直至条件成立才退出循环 有些语言提供repeat…until语句 Python可用while实现 只需确保首次进入while时条件成立 x = ?1 while x
您可能关注的文档
- kl6.2维护人格尊严1解析.ppt
- KM26安装调试操作手册解析.doc
- KOYO不锈钢轴承无忧运转日常检查维护方法解析.doc
- KPI与考评实施办法解析.doc
- KSB-汽动给水泵技术特点解析.ppt
- KS工厂审核报告书和审核CheckList解析.doc
- KT奶茶店冰镇酷爽好味道解析.doc
- CF01钢质进户门技术标准10.10解析.doc
- cfd1c4b4-d84d-4a18-8214-9e8fe06fd5a6解析.doc
- KYN28A-12解析.doc
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
最近下载
- PPAP培训课件(详细).pdf VIP
- 2023山东传媒职业学院教师招聘考试笔试试题2.pdf VIP
- 2025年数据中心五年建设:AI算力与投资方向报告.docx
- WebGIS原理及开发—基于开源框架的WebGIS技术493.pptx VIP
- 鹤煤三矿关于成立原煤车间智能选矸系统升级改造项目领导小组的通知.doc VIP
- 2023年山东传媒职业学院教师招聘考试笔试试题及答案解析.docx VIP
- 北师大版6六年级数学上册全套计算题专项练习16页.pdf VIP
- 2025中考语文名著阅读专题06 《昆虫记》真题练习(单一题)(学生版+解析版).docx
- Q_26 4003HJTG001-2019无心车床技术条件.pdf
- LC-2030C型高效液相色谱仪(设备编号)再确认方案 .pdf VIP
原创力文档

文档评论(0)