上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter08 控制结构(循环语句)

控制结构 循环语句

for循环:回顾 语法 for in : 语义 循环标志变量var取遍序列sequence中的每个 值;(该循环自动改变var的值) 对var所取的每个值执行一遍循环体body 计数循环 循环次数是确定的,即序列的长度决定 2

编程实例:求平均值 需求:输入若干个数求平均值 显然可用熟悉的累积器算法模式 算法: 输入数值个数n 初始化累积变量sum=0 循环n次 输入数值x 累加到sum 输出平均值sum/n 翻译到Python:avg1.py 3

while循环 avg1.py的缺点:需要用户输入n 一不适合事先不知道n的场合 ■不知道则不能用确定的计数循环for ■不确定的条件循环:while 4

while循环 ■语法 while : 语义 一只要条件成立就反复执行循环体: -当条件不成立则执行下一条语句 5

vhile循环的特点 循环前测试条件(pre-test) -若不满足,则循环体一次都不执行 条件 no 循环体影响下一次条件测试 一否则导致无穷循环 yes - 例如:for循环改写成while循环 i=0 #编程者设置 循环体 while i 10: print i 1=i+1#编程者设置 ■若忘了最后一条语句会怎样 6
条件 循环体 yes no

常见循环模式:交互循环 用户根据需要来循环执行程序某一部分 例如:avg2.py 不输入n,由程序自己数输入的值的个数 一设置一个是否继续循环的标志 初始化sum=0#求和 初始化count=0#记录数据的个数 初始化moredata=yes while moredata yes: 输入数据x 累积sum=sum+x 累积count=count+1 询问用户noredata? 输出平均值sum/count 7

常见循环模式:哨兵循环 avg2.py不断要用户输入moredata,很烦 人 改进:设置一个特殊数据值(称为哨兵)作为 终止循环的信号 对哨兵唯一的要求就是能与普通数据区分 8

常见循环模式:哨兵循环 模式 输入第一个数据 while该数据不是哨兵: 处理该数据 输入下一个数据 编程实例: avg3.py(负数哨兵)(数据中有负数则无效) avg4.py(空串哨兵) 9

常见循环模式:文件循环 avg1wavg4都是交互式输入数据的 -不便处理大数据量 一一个输入错误即导致需要重新运行程序 改进:建立一个数据文件 一数据处理应用中广泛使用 模式: 打开数据文件f for line in f.readlines(): 处理每个数据 编程实例avg5.py 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter07 控制结构(条件语句).ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter06 函数.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)Chapter05 面向对象与图形编程.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter04 字符串计算.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter03 数值计算.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter02 程序基本构件.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter01 课程简介、计算机与程序.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源_期末大作业要求.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源_往年试卷_CT2012-A卷-final.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源_往年试卷_CT2012-A卷-final 2_参考答案.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源_参考教材_参考教材-python-programming.pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源_参考教材_参考教材-2002版-PythonProgrammingBook.pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源_参考教材_HowToThink-Python.pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源_作业_第一次作业内容要求.pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源_作业_第一次作业内容要求.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源(上机课)第四次上机_Python第四次上机题目.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源(上机课)第五次上机_第五次上机.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源(上机课)第三次上机_Python第三次上机解析-update.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源(上机课)第三次上机_python第三次上机.doc
- 上海交通大学:《程序设计思想与方法》课程教学资源(上机课)第一次上机_第一次上机内容_10.18.pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)Chapter10 类的定义.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter11 数据集合体.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter9 模拟与设计.ppt
- 《Embedded System LAB》教学资源:KEIL Tools by ARM Getting Startedu Creating Applications withμVision®(uv4).pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源(上机课)第二次上机_第二次上机题目_11.1.doc
- 《程序设计思想与方法》课程教学资源(课程参考书PDF电子版)PYTHON programming:AN INTRODUCTION TO COMPUTER SCIENCE(JOHN ZELLE).pdf
- 《程序设计思想与方法》课程教学资源(课程参考书PDF电子版)Python Programming:An Introduction to Computer Science(2002版).pdf
- 《程序设计思想与方法》课程教学资源(课程参考书PDF电子版)How to Think Like a Computer Scientist Learning with Python.pdf
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter01 课程简介、计算机与程序.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter02 程序基本构件.ppt
- 上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)chapter03 数值计算.ppt
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)00. Course Introduction.pptx
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)01. Introduction to Software Engineering.pptx
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)10.Mapping Models to Code.pptx
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)11.Testing.pptx
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)02. Modeling with UML.pdf
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)03. Project Organization and Management.pdf
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)04. Requirements Elicitation.pdf
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)05. Analysis.pdf
- 上海交通大学:《面向对象软件工程 Software Engineering》课程教学资源(PPT课件讲稿)06. System Design-Decomposing the System.pdf