Python语言程序设计(第2版) 课件 第4章 循环结构.pptx

Python语言程序设计(第2版) 课件 第4章 循环结构.pptx

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第4章循环结构;4.1.1while语句

1.while语句的一般格式

while语句的一般格式为:

while表达式:

语句块

while语句中的表达式表示循环条件,可以是结果能解释为True或False的任何表达式,常用的是关系表达式和逻辑表达式。表达式后面必须加冒号。语句块是重复执行的部分,称作循环体。;;注意:

(1)当循环体由多个语句构成时,必须用缩进对齐的方式组成一个语句块,否则会产生错误。

(2)与if语句的语法类似,如果while循环体中只有一条语句,可以将该语句与while写在同一行中。

(3)如果表达式永远为True,循环将会无限地执行下去(俗称“死”循环)。在循环体内必须有修改表达式值的语句,使其值趋向False,让循环趋于结束,避免无限循环。;2.在while语句中使用else子句

在Python中,可以在循环语句中使用else子句,else中的语句会在循环正常执行完的情况下执行(不管是否执行循环体)。例如:

count=int(input())

whilecount5:

print(count,islesshan5)

count=count+1

else:

print(count,isnotlessthan5)

程序的一次运行结果如下:

8↙

8isnotlessthan5;4.1.2while循环的应用

例计算1+2+3+……+100的值。

分析:累加问题可用递推式来描述:si=si-1+ni(s0=0,n1=1),从循环的角度看即本次循环的累加和s等于上次循环的累加和加上本次的累加项n,可用赋值语句“s+=n”来实现。

此例的累加项n的递推式为:ni=ni-1+1(n1=1),可用赋值语句“n+=1”来实现(n=1,2,3,……,100)。

循环体要实现两种操作:s+=n和n+=1,并置s的初值为0,n的初值为1。;例求sinx近似值,直到最后一项的绝对值小于10-6时停止计算。其中x为弧度,但从键盘输入时以角度为单位。

分析:这是一个累加求和问题。关键是如何求累加项,较好的办法是利用前一项来求后一项,即用递推的办法来求累加项。第i项与第i-1项之间的递推关系为:;;例输入一个整数,输出其位数。

分析:输入的整数存入变量n中,用变量k来统计n的位数,基本思路是每循环一次就去掉n的最低位数字(用Python的整除运算符实现),直到n为0。;4.2.1for语句

1.for语句的一般格式

for语句的一般格式为:

for目标变量in序列对象:

语??块

for语句的首行定义了目标变量和遍历的序列对象,后面是需要重复执行的语句块。语句块中的语句要向右缩进,且缩进量要一致。;;注意:

(1)for语句是通过遍历任意序列的元素进行来建立循环的,针对序列的每一个元素执行一次循环体。

(2)for循环的循环次数显然就是序列中元素的个数,即序列的长度。可以利用序列长度来控制循环次数。

(3)目标变量的作用是存储每次循环所引用的序列元素的值,在循环体中也可以引用目标变量的值。

(4)可以在for循环体中修改目标变量的值,但当程序执行流程再次回到循环开始时,就会自动被设成序列的下一个元素。退出循环之后,该变量的值就是循环中最后的值。

(5)for语句也支持一个可选的else块,它的功能就像在while循环中一样,如果循环离开时没有碰到break语句,就会执行else块。;2.rang对象在for循环中的应用

在Python3.x中,range()函数返回的是可迭代对象。Python专门为for语句设计了迭代器的处理方法。例如:

foriinrange(5):

print(i,end=)

程序输出结果如下:

01234

首先Python对关键字in后的对象调用iter()函数获得迭代器,然后调用next()函数获得迭代器的元素,直到抛出StopIteration异常。;4.2.2for循环的应用

例输入20个数,求出其中的最大数与最小数。

分析:先假设第一个数就是最大数或最小数,再将剩下的19个数与到目前为止的最大数、最小数进行比较,比完19次后即可找出20个数中的最大数与最小数。;例求Fibonacci数列的前30项。

分析:设待求项(即fn)为f,待求项前面的第一项(即fn-1)为f1,待求项前面的第二项(即fn-2)为f2。首先根据f1和f2推出f,再将f1作为f2,f作为f1,为求下一项作准备。如此一直递推下去。; 1 1 2 3 5

第一次:f2+ f1→f

↓↓

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档