中国高校课件下载中心 》 教学资源 》 大学文库

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

文档信息
资源类别:文库
文档格式:PPT
文档页数:37
文件大小:637KB
团购合买:点击进入团购
内容简介
上海交通大学:《程序设计思想与方法》课程教学资源(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

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档