预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共48页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第4章程序控制结构程序循环结构依据循环执行次数确实定性,分为确定次数循环和非确定次数循环确定次数循环指循环体对循环次数有明确定义,这类循环在Python中被称为“遍历循环”,其中,循环次数采取遍历结构中元素个数来表达,详细采取for语句实现。非确定次数循环指程序不确定循环体可能执行次数,而经过条件判断是否继续执行循环体,Python提供了依据判断条件执行程序无限循环,详细采取while语句实现。Python经过保留字for实现“遍历循环”,基本使用方法以下:for<循环变量>in<遍历结构>:<语句块>之所以称为“遍历循环”,是因为for语句循环执行次数是依据遍历结构中元素个数确定。遍历循环能够了解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取元素执行一次语句块。遍历结构能够是字符串、文件、组合数据类型或range()函数,常用使用方式以下遍历循环还有一个扩展模式,使用方法以下:for<循环变量>in<遍历结构>:<语句块1>else:<语句块2>在这种扩展模式中,当for循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行之后才执行,所以,能够在<语句块2>中放置判断循环执行情况语句。这里先给一个小例子:很多应用极难在执行之初就有确定遍历结构,这需要编程语言提供依据条件进行循环语法,称为无限循环,又称条件循环。无限循环一直保持循环操作直到特定条件被满足才结束,不需要提前知道循环次数。Python经过保留字while实现无限循环,基本使用方法以下:while<条件>:<语句块>其中<条件>与if语句中判断条件一样,结果为True和False。在这种扩展模式中,当while循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行之后才执行,所以,能够在<语句块2>中放置判断循环执行情况语句,比如:程序执行后效果如下:假如经过while实现一个计数循环,需要在循环之前对计数器idx进行初始化,并在每次循环中对计数器idx进行累加,如上述代码第4行。相比for循环,循环变量逐一取自遍历结构,不需要程序维护计数器循环结构有两个辅助保留字:break和continue,它们用来辅助控制循环执行。break用来跳出最内层for或while循环,脱离该循环后续执行,比如其中,break语句跳出了最内层for循环,但依然继续执行外层循环。每个break语句只有能力跳出当前层次循环。continue用来结束当前当次循环,即跳出循环体中下面还未执行语句,但不跳出当前循环。对于while循环,继续求解循环条件。而对于for循环,程序流程接着遍历循环列表。对比continue和break语句,以下:random库使用随机数在计算机应用中十分常见Python内置random库主要用于产生各种分布伪随机数序列random库采取梅森旋转算法(Mersennetwister)生成伪随机数序列,可用于除随机性要求更高加解密算法外大多数工程应用。使用random库主要目标是生成随机数,所以,读者只需要查阅该库随机数生成函数,找到符合使用场景函数使用即可。这个库提供了不一样类型随机数函数,全部函数都是基于最基本random.random()函数扩展而来。random库解析对random库引用方法与math库一样,可采取下面两种方式实现importrandom或fromrandomimport*使用random库一些例子如下,请读者注意,这些语句每次执行后结果不一定一样:生成随机数之前能够经过seed()函数指定随机数种子,随机种子普通是一个整数,只要种子相同,每次生成随机数序列也相同。这种情况便于测试和同时数据,比如:π计算伴随计算机出现,数学家找到了另类求解π方法:蒙特卡罗(MonteCarlo)方法,又称随机抽样或统计试验方法。当所要求解问题是某种事件出现概率,或者是某个随机变量期望值时,它们能够经过某种“试验”方法,得到这种事件出现频率,或者这个随机变数平均值,并用它们作为问题解。这就是蒙特卡罗方法基本思想。应用蒙特卡罗方法求解π基本步骤以下:随机向单位正方形和圆结构,如图4.10所表示,抛洒大量“飞镖”点,计算每个点到圆心距离从而判断该点在圆内或者圆外,用圆内点数除以总点数就是π/4值为了简化计算,普通利用图形1/4求解π值,如图4.11所表示。该问题IPO表示以下:输入:抛点数处理:计算每个点到圆心距离,统计在圆内点数量输出:π值上述代码中,random()函数随机返回一个在[0,1)之间浮点数,用两个随机数给出随机抛点(x,y)坐标。sqrt()函数来自于数学库math,用来求解输入数据平方根。第一次调用clock()函数开启一个新计时器,第二次调动clock()函数返回开启计时器后时间。