《Python程序设计与案例教程》课件chap5循环结构程序设计.ppt

《Python程序设计与案例教程》课件chap5循环结构程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.4 循环控制语句 有时候我们需要在循环体中提前跳出循环,或者在某种条件满足时,不执行循环体中的某些语句而立即从头开始新的一轮循环,这时就要用到循环控制语句break、continue和pass语句。 一般格式 break 功能 break语句用在循环体内,迫使所在循环立即终止,即跳出所在循环体,继续执行循环结构后面的语句。 (1) break语句 …… break …… exp N Y 求两个整数m与n的最大公约数。 m,n=eval(input(请输入两个整数:)) if mn: min=m else: min=n for i in range(min,1,-1): if m%i==0 and n%i==0: print(最大公约数是:,i) break 一般格式 continue 功能 在循环语句中强行提前结束本次循环, 而不是终止循环。 (2) continue语句 …… continue …… exp N Y 例 求1~100之间的全部奇数之和。 程序如下: x=y=0 while True: x+=1 if x%2==0:continue elif x100:break else:y+=x print(y=,y) 程序运行结果: y= 2500 (3)pass语句 pass语句是一个空语句,它不做任何操作,代表一个空操作,在特别的时候用来保证格式或是语义的完整性。例如下面的循环语句: for i in range(5): pass 该语句的确会循环5次,但是除了循环本身之外,它什么也没做。 例:pass语句应用:逐个输出“Python”字符串中的字符。 for letter in Python: if letter == o: pass print(This is pass block) print(Current Letter :, letter) print(End!) 程序运行结果: Current Letter : P Current Letter : y Current Letter : t Current Letter : h This is pass block Current Letter : o Current Letter : n End! 5.5 循环结构程序举例 例:利用下面的公式求的近似值,要求累加到最后一项小于10-6为止。 程序如下: import math s=1 n=1.0 t=1.0 pi=0 while math.fabs(t)=1e-6: pi=pi+t n=n+2 s=-s t=s/n pi=pi*4 print(PI=%f%pi) 程序运行结果: PI=3.141591 例:“百钱百鸡”问题。 公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡、母鸡、小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱? 分析:显然这是一个组合问题,也可以看作是解不定方程的问题,采用列举的方法实现。令i、j、k分别表示公鸡、母鸡和小鸡的数目。 例:“百钱百鸡”问题。 [方法一]令i、j、k的列举范围分别为: i:1~20(公鸡最多能买20只) j:1~33(母鸡最多能买33只) k:1~100(小鸡最多能买100只) 采用三重循环逐个搜索。 程序如下: for i in range(1,21): for j in range(1,34): for k in range(1,101): if i+j+k==100 and i*5+j*3+k/3==100: print(“公鸡:%d只,母鸡:%d只,小鸡:%d只%(i,j,k)) 程序运行结果: 公鸡:4只,母鸡: 18只,小鸡: 78只 公鸡: 8只,母鸡: 11只,小鸡: 81只 公鸡: 12只,母鸡: 4只,小鸡: 84只 循环体执行次数20×33×100=66000次 例:“百钱百鸡”问题。 [方法二]令i、j、k的列举范围分别为(保证每种鸡至少买一只): i:1~18(公鸡最多能买18只) j:1~31(母鸡最多能买31只) k:100-i-k 采用两重循环逐个搜索 程序如下: for i in ra

文档评论(0)

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

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

1亿VIP精品文档

相关文档