版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机编程导论,第4章 循环结构 程序设计2,计算机编程导论,4.3.3 while语句用于无限循环,要点: 循环结构理解 二重循环结构理解 二重循环的应用,计算机编程导论,4.3.3 while语句用于无限循环,当while语句的“表达式”永远不会为布尔假时,循环将永远不会结束,形成无限循环,也称死循环。 使用while语句构成无限循环的格式通常为: while true: 循环体 可以在循环体内使用break语句强制结束死循环。,计算机编程导论,【例4-5】使用无限循环的方法编程实现例4-2。,a = input(请输入字符,如果输入 # 号则结束输入操作: ) while true: p
2、rint(您输入的字符是:, a) a = input(请输入字符,如果输入 # 号则结束输入操作: ) if a = #: break,程序:,计算机编程导论,【例4-6】求以下表达式的值,其中n值从键盘输入。参考值:当n = 11时,s = 1.833333 。,计算机编程导论,【分析】 (1)以上问题属于数学中的级数求和问题,是使用循环结构解决的一类常见问题。 (2)级数求和问题编程的重点在于通过观察表达式的规律,分析每次循环都要完成的事件。通常将这些事件进行局部分解,称为“通式”。,该题的通式有以下几个: (1)分母的通式: (2)变量i的通式: (3)当前项的通式: (4)求和的通式
3、:,mu = mu + i,i = i + 1,t = 1.0 / mu,s = s + t,计算机编程导论,i=1 mu = 0 s = 0.0 n = input(请输入n值: ) #或用书上的代码 while i = 1e-8: s = s + t zi = zi * i mu = mu * ( 2 * i + 1) t = zi * 1.0 / mu i += 1 print pai = , (2 * s),计算机编程导论,【例4-8】求1 100之间能被7整除,但不能同时被5整除的所有整数 。,【分析】 (1)本题需要对1 100范围内的所有数一一进行判断。 (2)本题的循环次数确定
4、是100次。 (3)在每次循环过程中需要用 if 语句进行条件判断。因此本题是循环嵌套选择的结构。,计算机编程导论,i = 1 # i 既是循环变量,同时又是被判断的数 print(1100之间能被7整除,但不能同时被5整除的所有数是:) while i score = 70, 90, 78, 85, 97, 94, 65, 80 score 70, 90, 78, 85, 97, 94, 65, 80 aver = sum(score) / 8.0 aver 82.375,计算机编程导论,方法二:使用for语句,循环计算列表元素之和。,【分析】 (1)以上列表score有8个元素,这些元素的
5、序列索引范围是“0 7”。 (2)本题用到成员测试运算符“in”,如果成员在序列中,测试结果为“true”,否则为“false”。 (3)本题用到计算序列长度的内建函数len( )。 (4)本题用到内建函数range( ),range( )函数的完整语法要求提供2个或3个整型参数: range(start, end, step),计算机编程导论,score = 70, 90, 78, 85, 97, 94, 65, 80 print 所有的分数值是: print score #打印列表 sum = 0 for i in range(len(score): print scorei, sum +
6、= scorei #循环体对列表元素求和 aver = sum / 8.0 #循环之后,求平均值 print naver = , aver,程序:,计算机编程导论,循环的嵌套是指在一个循环中又包含另外一个完整的循环,即循环体中又包含循环语句。while循环和for循环可以相互嵌套。 循环嵌套的执行过程是:一次外循环对应着完整的一轮内循环。,利用for语句实现双层循环嵌套,计算机编程导论,【例4-13】使用for循环的嵌套结构打印9-9乘法表,【分析】9-9乘法表由9行组成,每行的列数有规律地递增。通过观察可以看出,表达式“x * y = z”中的x是内循环变量j的取值,y是外循环变量i的取值,
7、z是x乘以y的结果。,计算机编程导论,for i in range(1, 10, 1): #控制行 for j in range(1, i+1, 1): #控制列 print i, *, j, =, i*j, t print n #每行末尾的换行,程序:,计算机编程导论,【课堂练习】使用for循环的嵌套结构编程,打印以下图形。,(1)矩形,(2)直角三角形,(3)正三角形,计算机编程导论,python提供了一条提前结束循环的语句break语句。 当在循环过程中,某个条件被触发(一般通过if语句检查),需要立即停止循环时使用。break语句可以用在while和for循环中。,4.4 break语
8、句,计算机编程导论,【例4-15】求200以内能被17整除的最大正整数。,【分析】这个查找过程将以递减的方式遍历200至1之间的整数,当找到第1个能被17整除的数时,循环过程立即停止,后续还没有遍历的数将无需再进行判断,因此可以使用break语句将循环提前终止。,for i in range(200, 1, -1): if i % 17 = 0: break print(200以内能被17整除的最大数是:, i),程序:,计算机编程导论,【例4-16】从键盘输入一个整数,判断该数是否为素数。,计算机编程导论,#exp4_16.py x=input(请输入1个整数:) for i in rang
9、e(2, x, 1): if x % i=0: break if i=x-1: print x, 是素数 elif ix-1: print x, 不是素数,计算机编程导论,4.6 continute语句,continue语句的作用是终止当前循环,并忽略continue之后的语句,然后回到循环的顶端,继续执行下一次循环。,计算机编程导论,【例4-17】 求200以内能被17整除的所有正整数,并统计满足条件的数的个数。,#exp4_17_2.py s=0 print 200以内能被17整除的所有数是: for i in range(1, 201, 1): if i%17!= 0: continue print i, s+=1 print n数的个数是:, s,计算机编程导论,计算机编程导论,第7次上机作业:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学大二(植物营养学)肥料施用期末测试试题及答案
- 2025年中职(仓储实务综合实训)管理实操试题及答案
- 2025年大学汉语言文学(文学概论基础)试题及答案
- 2025年高职第一学年(工商管理)企业管理综合试题及答案
- 2026年家电维修(洗衣机检修)试题及答案
- 2025年高职健康管理(慢病管理)试题及答案
- 《潮流玩偶服饰设计》动漫玩具设计专业全套教学课件
- 运营中心管理制度新
- 中国银行大学生培训课件
- 养老院老人疾病预防措施制度
- 北京通州产业服务有限公司招聘参考题库完美版
- 企业安全隐患排查课件
- 2025版《煤矿安全规程》宣贯解读课件(电气、监控与通信)
- 2025年国家开放大学《管理学基础》期末机考题库附答案
- 2025年人民网河南频道招聘备考题库参考答案详解
- ESHRE子宫内膜异位症的诊断与治疗指南(2025年)
- 幼儿园入学准备指导要点试题
- 《机械常识(第2版)》中职技工全套教学课件
- 小岛经济学(中文版)
- 矿卡司机安全教育考试卷(带答案)
- 设备预防性维修维护培训课件
评论
0/150
提交评论