Python程序设计 第4章 循环结构程序设计(第7次课)2.ppt

Python程序设计 第4章 循环结构程序设计(第7次课)2.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机编程导论 1-* Copyright ? SWFU-CISD, 2012. All rights reserved. 计算机编程导论 本章主讲 赵家刚 第4章 循环结构 程序设计2 计算机编程导论 4.3.3 while语句用于无限循环 要点: 循环结构理解 二重循环结构理解 二重循环的应用 计算机编程导论 4.3.3 while语句用于无限循环 当while语句的“表达式”永远不会为布尔假时,循环将永远不会结束,形成无限循环,也称死循环。 使用while语句构成无限循环的格式通常为: while True: 循环体 可以在循环体内使用break语句强制结束死循环。 计算机编程导论 【例4-5】使用无限循环的方法编程实现例4-2。 a = input('请输入字符,如果输入 # 号则结束输入操作: ') while True: print('您输入的字符是:', a) a = input('请输入字符,如果输入 # 号则结束输入操作: ') if a == '#': break 程序: 计算机编程导论 【例4-6】求以下表达式的值,其中n值从键盘输入。参考值:当n = 11时,s = 1.833333 。 计算机编程导论 【分析】 (1)以上问题属于数学中的级数求和问题,是使用循环结构解决的一类常见问题。 (2)级数求和问题编程的重点在于通过观察表达式的规律,分析每次循环都要完成的事件。通常将这些事件进行局部分解,称为“通式”。 该题的通式有以下几个: (1)分母的通式: (2)变量i的通式: (3)当前项的通式: (4)求和的通式: 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 <= n: #判断是否计算到表达式的最后一项 mu = mu + i #求分母的通式 i += 1 # i 自增的通式 t = 1.0 / mu #求当前项的通式 s = s + t #求和的通式 print 's = ', s #循环结束后,打印总和 程序: 提问: (1)变量 i、mu、s 的初值只能是 1、0、0.0 吗? (2)循环体内语句的先后顺序可以随意调换吗? 计算机编程导论 【例4-7】 通过以下表达式求π的近似值,当某项小于0即1e-8)时停止循环。 计算机编程导论 分析: 该题使用循环结构来解决,只有当某一项小于1e-8时才停止迭代,因此循环次数是不确定的。观察表达式中相邻两项的规律是——①前一项的分子乘以1个整数值“i”可得后一项的分子,而这个整数值“i”随着循环次数由1递增到n;②前一项的分母乘以“2*i+1”可得后一项的分母。该题的通式有以下几个: (1)分子的通式:zi = zi * i (2)分母的通式:mu = mu * (2 * i + 1) (3)变量i的通式:i = i + 1 (4)当前项的通式:t = zi*1.0/mu (5)求和通式:s=s+t 计算机编程导论 程序: #Exp4_7.py i = 1 zi = 1.0 mu = 1.0 t = 1.0 s = 0.0 while t >= 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)本题的循环次数确定是100次。 (3)在每次循环过程中需要用 if 语句进行条件判断。因此本题是循环嵌套选择的结构。 计算机编程导论 i = 1 # i 既是循环变量,同时又是被判断的数 print('1~100之间能被7整除,但不能同时被5整除的所有数是:') while i <= 100: #判断循环是否结束 if i % 7 == 0 and i % 5 != 0: #判断本次的i是否满足条件 print i, '\t ' #打印满足条件的i i += 1 #每次循环 i 应自增 程序: 提问: 请问语句“i += 1”可以和语句 “print i, '\t ' ”对齐吗? 计算机编程导论 【例4-9】

文档评论(0)

annylsq + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档