收藏 分销(赏)

Python电子教案42程序的控制结构省公共课一等奖全国赛课获奖课件.pptx

上传人:w****g 文档编号:3300879 上传时间:2024-06-30 格式:PPTX 页数:48 大小:1.27MB
下载 相关 举报
Python电子教案42程序的控制结构省公共课一等奖全国赛课获奖课件.pptx_第1页
第1页 / 共48页
Python电子教案42程序的控制结构省公共课一等奖全国赛课获奖课件.pptx_第2页
第2页 / 共48页
Python电子教案42程序的控制结构省公共课一等奖全国赛课获奖课件.pptx_第3页
第3页 / 共48页
Python电子教案42程序的控制结构省公共课一等奖全国赛课获奖课件.pptx_第4页
第4页 / 共48页
Python电子教案42程序的控制结构省公共课一等奖全国赛课获奖课件.pptx_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、第4章 程序控制结构第1页程序循环结构第2页依据循环执行次数确实定性,分为确定次数循环和非确定次数循环确定次数循环指循环体对循环次数有明确定义,这类循环在Python中被称为“遍历循环”,其中,循环次数采取遍历结构中元素个数来表达,详细采取for语句实现。非确定次数循环指程序不确定循环体可能执行次数,而经过条件判断是否继续执行循环体,Python提供了依据判断条件执行程序无限循环,详细采取while语句实现。程序循环结构第3页Python经过保留字for实现“遍历循环”,基本使用方法以下:for in :之所以称为“遍历循环”,是因为for语句循环执行次数是依据遍历结构中元素个数确定。遍历循环

2、能够了解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取元素执行一次语句块。遍历循环:for语句第4页遍历结构能够是字符串、文件、组合数据类型或range()函数,常用使用方式以下循环N次for i in range(N):遍历文件fi每一行for line in fi:遍历字符串s for c in s:遍历循环:for语句第5页遍历循环还有一个扩展模式,使用方法以下:for in :else:遍历循环:for语句第6页在这种扩展模式中,当for循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行之后才执行,所以,能够在中放置判断循环执行情况语句。这里先

3、给一个小例子:遍历循环:for语句第7页很多应用极难在执行之初就有确定遍历结构,这需要编程语言提供依据条件进行循环语法,称为无限循环,又称条件循环。无限循环一直保持循环操作直到特定条件被满足才结束,不需要提前知道循环次数。无限循环:while语句第8页Python经过保留字while实现无限循环,基本使用方法以下:while :其中与if语句中判断条件一样,结果为True和False。无限循环:while语句第9页在这种扩展模式中,当while循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行之后才执行,所以,能够在中放置判断循环执行情况语句,比如:无限循环:wh

4、ile语句第10页程序执行后效果如下:假如经过while实现一个计数循环,需要在循环之前对计数器idx进行初始化,并在每次循环中对计数器idx进行累加,如上述代码第4行。相比for循环,循环变量逐一取自遍历结构,不需要程序维护计数器无限循环:while语句第11页循环结构有两个辅助保留字:break和continue,它们用来辅助控制循环执行。break用来跳出最内层for或while循环,脱离该循环后续执行,比如循环境保护留字:break和continue第12页其中,break语句跳出了最内层for循环,但依然继续执行外层循环。每个break语句只有能力跳出当前层次循环。continue用

5、来结束当前当次循环,即跳出循环体中下面还未执行语句,但不跳出当前循环。对于while循环,继续求解循环条件。而对于for循环,程序流程接着遍历循环列表。循环境保护留字:break和continue第13页对比continue和break语句,以下:循环境保护留字:break和continue两个程序执行后效果分别为 PYHON PY第14页random库使用第15页随机数在计算机应用中十分常见Python内置random库主要用于产生各种分布伪随机数序列random库采取梅森旋转算法(Mersenne twister)生成伪随机数序列,可用于除随机性要求更高加解密算法外大多数工程应用。rand

6、om库概述第16页使用random库主要目标是生成随机数,所以,读者只需要查阅该库随机数生成函数,找到符合使用场景函数使用即可。这个库提供了不一样类型随机数函数,全部函数都是基于最基本random.random()函数扩展而来。random库概述第17页random库解析random库惯用9个随机数生成函数函数描述函数seed(a=None)初始化随机数种子,默认值为当前系统时间seed(a=None)random()生成一个0.0,1.0)之间随机小数random()randint(a,b)生成一个a,b之间整数randint(a,b)getrandbits(k)生成一个k比专长度随机整数g

7、etrandbits(k)randrange(start,stop,step)生成一个start,stop)之间以step为步数随机整数randrange(start,stop,step)uniform(a,b)生成一个a,b之间随机小数uniform(a,b)choice(seq)从序列类型(比如:列表)中随机返回一个元素choice(seq)shuffle(seq)将序列类型中元素随机排列,返回打乱后序列shuffle(seq)sample(pop,k)从pop类型中随机选取k个元素,以列表类型返回sample(pop,k)第18页对random库引用方法与math库一样,可采取下面两种方

8、式实现import random 或 from random import*使用random库一些例子如下,请读者注意,这些语句每次执行后结果不一定一样:random库解析第19页random库解析第20页生成随机数之前能够经过seed()函数指定随机数种子,随机种子普通是一个整数,只要种子相同,每次生成随机数序列也相同。这种情况便于测试和同时数据,比如:random库解析第21页计算第22页计算第23页伴随计算机出现,数学家找到了另类求解方法:蒙特卡罗(Monte Carlo)方法,又称随机抽样或统计试验方法。当所要求解问题是某种事件出现概率,或者是某个随机变量期望值时,它们能够经过某种“试

9、验”方法,得到这种事件出现频率,或者这个随机变数平均值,并用它们作为问题解。这就是蒙特卡罗方法基本思想。计算第24页应用蒙特卡罗方法求解基本步骤以下:随机向单位正方形和圆结构,如图4.10所表示,抛洒大量“飞镖”点,计算每个点到圆心距离从而判断该点在圆内或者圆外,用圆内点数除以总点数就是/4值计算第25页为了简化计算,普通利用图形1/4求解值,如图4.11所表示。该问题IPO表示以下:输入:抛点数处理:计算每个点到圆心距离,统计在圆内点数量输出:值计算第26页计算第27页上述代码中,random()函数随机返回一个在0,1)之间浮点数,用两个随机数给出随机抛点(x,y)坐标。sqrt()函数来

10、自于数学库math,用来求解输入数据平方根。第一次调用clock()函数开启一个新计时器,第二次调动clock()函数返回开启计时器后时间。计算第28页代码中DARTS是一个常量,初始设定这个抛点数为1000。该程序运行结果以下:Pi值是3.144.运行时间是:0.016477s计算得到值为3.144,与大家熟知3.1415相差较远。原因是DARTS点数量较少,无法更准确刻画面积百分比关系。计算第29页表4.4列出了不一样DARTS值情况下该程序运行情况,能够看到,伴随DARTS数量增加,在220数量级上,值就相对准确了。DARTS运行时间2103.1093750.011s2113.13867

11、10.012s2123.1503900.014s2133.1435540.018s2143.1413570.030s2153.1478270.049s2163.1419670.116s2183.1445770.363s2203.14266967771.255s计算第30页异常处理机制第31页观察下面这段小程序num=eval(input(num=eval(input(请输入一个整数请输入一个整数:):)print(num*2)print(num*2)当用户输入数字时,程序正常执行,假如用户输入不是数字呢?异常处理:try-except语句第32页异常处理:try-except语句第33页能够看

12、到,Python解释器返回了异常信息,同时程序退出,图4.12详细说明了这个异常信息中各部分含义。异常处理:try-except语句第34页Python异常信息中最主要部分是异常类型,它表明了发生异常原因,也是程序处理异常依据。Python使用try-except语句实现异常处理,基本语法格式以下:try:except:异常处理:try-except语句第35页语句块1是正常执行程序内容,当发生异常时执行except保留字后面语句块,为这个小例子增加异常处理,代码以下:异常处理:try-except语句第36页try-except语句能够支持多个except语句,语法格式以下:try:try:

13、1except except:1:2.except except:N:N+1except:except:N+2异常高级使用方法第37页其中,第1到第N个except语句后面都指定了异常类型,说明这些except所包含语句块只处理这些类型异常。最终一个except语句没有指定任何类型,表示它对应语句块能够处理全部其它异常。这个过程与if-elif-else语句类似,是分支结构一个表示方式,一段代码以下。异常高级使用方法第38页异常高级使用方法第39页该程序将用户输入数字作为索引从字符串alp中返回一个字符,当用户输入非整数字符时,except NameError异常被捕捉到,提升用户输入类型错误

14、,当用户输入数字不在1到26之间时,异常被except捕捉,程序打印其它错误信息,执行过程和结果以下:异常高级使用方法第40页除了try和except保留字外,异常语句还能够与else和finally保留字配合使用,语法格式以下:try:try:1except except:1:2else:else:3finally:finally:4异常高级使用方法第41页此处else语句与for循环和while循环中else一样,当try中语句块1正常执行结束且没有发生异常时,else中语句块3执行,能够看作是对try语句块正常执行后一个追加处理。finally语句块则不一样,不论try中语句块1是否发生

15、异常,语句块4都会执行,能够将程序执行语句块1一些收尾工作放在这里,比如关闭打开文件等。异常高级使用方法第42页采取这些保留子异常处理控制流过程如图4.13所表示异常高级使用方法第43页采取else和finally修改代码以下异常高级使用方法第44页执行过程和结果以下:异常高级使用方法第45页Python能识别很各种异常类型,但不提议读者编写程序时依赖try-except这种异常处理机制。try-except异常普通只用来检测极少发生情况,比如:用户输入合规性或文件打开是否成功等。对于本节小例子中索引字符串超出范围情况应该尽可能在程序中采取if语句直接判断,尽可能防止经过异常处理来应对这种可能

16、发生“错误”异常高级使用方法第46页对于商业应用软件产品,稳定性和可靠性是最主要衡量指标之一。即使这类软件产品,也不会滥用try-except类型语句。因为采取try-except语句会影响代码可读性,增加代码维护难度,所以,普通只在关键地方采取try-except类型语句处理可能发生异常。没看懂,到底该什么时候该使用异常语句呢?程序员都是对它又爱又恨,其实,想用就用吧,用户体验好才是王道!异常高级使用方法第47页本章主要讲解程序基本结构,包含分支结构和循环结构,介绍身体质量指数BMI计算,用实例说明分支结构使用。本章同时介绍了一个惯用标准库random库,利用它实现了蒙特卡罗方法求解过程。最终介绍了程序异常处理操作。本章小结第48页

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服