1、4.Python4.Python程序的控制结构程序的控制结构Python程序设计程序设计第第4 4章章 PythonPython程序控制结构程序控制结构Python程序设计程序设计4.1 4.1 程序的流程图程序的流程图4.2 Python4.2 Python分支结构分支结构4.3 Python4.3 Python循环结构循环结构Python程序设计程序设计 流程图基本元素流程图基本元素 程序流程图程序流程图 程序基本结构程序基本结构程序的流程图程序的流程图程序流程图程序流程图流程图基本元素流程图基本元素程序流程图用一系列图形、流程线和文字说明描述程序的基本操作和控制流程,它是程序分析和过程描
2、述的最基本方式。流程图的基本元素包括7种程序流程图程序流程图程序流程图程序流程图程序流程图示例由连接点A 连接的一个程序程序流程图程序流程图程序的基本结构程序的基本结构程序由三种基本结构组成: 顺序结构 分支结构 循环结构这些基本结构都有一个入口和一个出口。任何程序都由这三种基本结构组合而成程序流程图程序流程图程序的基本结构程序的基本结构顺序结构是程序的基础,但单一的顺序结构不可能解决所有问题。 顺序结构是程序按照线性顺序依次执行的一种运行方式,其中语句块1S1和语句块S2表示一个或一组顺序执行的语句程序流程图程序流程图程序的基本结构程序的基本结构分支结构是程序根据条件判断结果而选择不同向前执
3、行路径的一种运行方式,包括单分支结构和二分支结构。由二分支结构会组合形成多分支结构。程序流程图程序流程图程序的基本结构程序的基本结构循环结构是程序根据条件判断结果向后反复执行的一种运行方式,根据循环体触发条件不同,包括条件循环和遍历循环结构程序流程图程序流程图程序的基本结构实例程序的基本结构实例实例1 :圆面积和周长的计算输入:圆半径R处理: 圆面积:S = *R*R 圆周长:L = 2*R输出:圆面积S、周长L程序流程图程序流程图程序的基本结构实例程序的基本结构实例实例2 :实数绝对值的计算程序流程图程序流程图程序的基本结构实例程序的基本结构实例实例3 :整数累加输入:正整数R处理: S=1
4、+2+3+R输出:输出SPython程序设计程序设计4.1 4.1 程序的流程图程序的流程图4.2 Python4.2 Python分支结构分支结构4.3 Python4.3 Python循环结构循环结构Python程序设计程序设计 单分支结构单分支结构 二分支结构二分支结构 多分支结构多分支结构 条件判断及组合条件判断及组合PythonPython分支结构分支结构Python分支结构分支结构单分支结构单分支结构根据判断条件结果而选择不同向前路径的运行方式if : Python分支结构分支结构单分支结构单分支结构单分支示例guess = eval(input() if guess = 99:
5、print(猜对了)if True: print(条件正确)Python分支结构分支结构二分支结构二分支结构根据判断条件结果而选择不同向前路径的运行方式if : else : Python分支结构分支结构二分支结构二分支结构二分支示例guess = eval(input()if guess = 99: print(猜对了)else : print(猜错了)if True: print(语句块1)else : print(语句块2)Python分支结构分支结构二分支结构二分支结构二分支示例guess = eval(input()if guess = 99: print(猜对了)else : pr
6、int(猜错了)if True: print(语句块1)else : print(语句块2)Python分支结构分支结构二分支结构二分支结构紧凑形式:适用于简单表达式的二分支结构 if else guess = eval(input()print(猜了.format(对 if guess=99 else 错)Python分支结构分支结构多分支结构多分支结构if : elif : else : Python分支结构分支结构多分支结构多分支结构#judgeScorescore = eval(input(请输入成绩:)if score = 60: grade = Delif score = 70:
7、grade = Celif score = 80: grade = Belif score = 90: grade = Aprint(输入成绩属于级别:.format(grade)- 注意多条件之间的包含关系- 注意变量取值范围的覆盖Python分支结构分支结构条件判断及组合条件判断及组合Python分支结构分支结构条件判断及组合条件判断及组合用于条件组合的三个保留字Python分支结构分支结构条件判断及组合条件判断及组合用于条件组合的三个保留字Python分支结构分支结构条件判断及组合条件判断及组合示例guess = eval(input()if guess 99 or guess 99:
8、print(猜错了)else : print(猜对了)if not True: print(语句块2)else : print(语句块1)Python分支结构分支结构实例实例: : 身体质量指数身体质量指数BMIBMI- BMI:Body Mass Index国际上常用的衡量人体肥胖和健康程度的重要标准,主要用于统计分析- 定义BMI = 体重 (kg) / 身高 2 (m 2 )Python分支结构分支结构实例实例: : 身体质量指数身体质量指数BMIBMI- 实例:体重 72 kg 身高 1.72 m BMI 值是多少?- 这个值是否健康呢?Python分支结构分支结构实例实例: : 身体
9、质量指数身体质量指数BMIBMI国际:世界卫生组织 国内:国家卫生健康委员会Python分支结构分支结构实例实例: : 身体质量指数身体质量指数BMIBMI问题需求-输入:给定体重和身高值-输出:BMI指标分类信息(国际和国内)思路方法-难点在于同时输出国际和国内对应的分类-思路1:分别计算并给出国际和国内BMI分类- 思路2:混合计算并给出国际和国内BMI分类Python分支结构分支结构实例实例: : 身体质量指数身体质量指数BMIBMIPython分支结构分支结构实例实例: : 身体质量指数身体质量指数BMIBMIPython程序设计程序设计4.1 4.1 程序的流程图程序的流程图4.2
10、Python4.2 Python分支结构分支结构4.3 Python4.3 Python循环结构循环结构Python程序设计程序设计 遍历循环遍历循环 无限循环无限循环 循环控制保留字循环控制保留字 循环的高级用法循环的高级用法PythonPython循环结构循环结构Python循环结构循环结构循环循环根据循环执行次数的确定性,循环可以分为确定次数循环和非确定次数循环。确定次数循环指循环体对循环次数有明确的定义循环次数采用遍历结构中元素个数来体现。无限循环一直保持循环操作直到特定循环条件不被满足才结束,不需要提前知道确定循环次数。Python循环结构循环结构遍历循环遍历循环遍历某个结构形成的循
11、环运行方式for in : - 从遍历结构中逐一提取元素,放在循环变量中Python循环结构循环结构遍历循环遍历循环- 由保留字for和in组成,完整遍历所有元素后结束- 每次循环,所获得元素放入循环变量,并执行一次语句块Python循环结构循环结构遍历循环应用遍历循环应用计数循环(N次)- 遍历由range(N)函数产生的数字序列,产生循环Python循环结构循环结构遍历循环应用遍历循环应用计数循环(特定次)- 遍历由range(M,N,K)函数产生的数字序列,产生循环Python循环结构循环结构遍历循环应用遍历循环应用字符串遍历循环- s是字符串,遍历字符串每个字符,产生循环Python循
12、环结构循环结构遍历循环应用遍历循环应用列表遍历循环- ls是一个列表,遍历其每个元素,产生循环Python循环结构循环结构遍历循环应用遍历循环应用文件遍历循环- fi是一个文件标识符,遍历其每行,产生循环Python循环结构循环结构无限循环无限循环由条件控制的循环运行方式- 反复执行语句块,直到条件不满足时结束Python循环结构循环结构无限循环的应用无限循环的应用Python循环结构循环结构循环控制保留字循环控制保留字break 和 continuebreak用来跳出最内层for或while循环,脱离该循环后程序从循环后代码继续续执行continue用来结束当前当次循环,即跳出循环体中下面尚
13、未执行的语句,但不跳出当前循环。- break跳出并结束当前整个循环,执行循环后的语句- continue结束当次循环,继续执行后续次数循环Python循环结构循环结构循环控制保留字循环控制保留字break 和 continuePython循环结构循环结构循环控制保留字循环控制保留字break 和 continuePython循环结构循环结构循环的高级用法循环的高级用法循环与elsePython循环结构循环结构循环的高级用法循环的高级用法for循环和while循环中都存在一个else扩展用法。 else中的语句块只在一种条件下执行,即for循环正常遍历了所有内容没有因为break或return
14、而退出。Python循环结构循环结构randomrandom库的使用库的使用random库是生成及使用随机数的Python标准库random库采用梅森旋转算法(Mersenne twister)生成伪随机数序列,可用于除随机性要求更高的加解密算法外的大多数工程应用。使用random库: import randomPython循环结构循环结构randomrandom库的使用库的使用Python循环结构循环结构randomrandom库的使用库的使用-基本随机数函数: seed(), random()-扩展随机数函数: randint(), getrandbits(), uniform(),ran
15、drange(), choice(), shuffle()Python循环结构循环结构基本随机数函数基本随机数函数Python循环结构循环结构基本随机数函数基本随机数函数生成随机数之前可以通过seed()函数指定随机数种子,随机种子一般是一个整数,只要种子相同,每次生成的随机数序列也相同。这种情况便于测试和同步数据Python循环结构循环结构基本随机数函数基本随机数函数import random 或 from random import *Python循环结构循环结构扩展随机数函数扩展随机数函数Python循环结构循环结构扩展随机数函数扩展随机数函数Python循环结构循环结构扩展随机数函数扩
16、展随机数函数Python循环结构循环结构实例:圆周率的计算实例:圆周率的计算 (圆周率)是一个无理数,即无限不循环小数。精确求解圆周率是几何学、物理学和很多工程学科的关键。 对的精确求解曾经是数学历史上一直难以解决的问题之一,因为无法用任何精确公式表示,在电子计算机出现以前,只能通过一些近似公式的求解得到,直到1948年,人类才以人工计算方式得到的808位精确小数。Python循环结构循环结构实例:圆周率的计算实例:圆周率的计算蒙特卡罗(Monte Carlo)方法,又称随机抽样或统计试验方法。当所要求解的问题是某种事件出现的概率,或者是某个随机变量的期望值时,它们可以通过某种“试验”的方法,得到这种事件出现的频率,或者这个随机变数的平均值,并用它们作为问题的解。Python循环结构循环结构实例:圆周率的计算实例:圆周率的计算应用蒙特卡罗方法求解的基本步骤如下: 随机向单位正方形和圆结构,抛洒大量“飞镖”点 计算每个点到圆心的距离从而判断该点在圆内或者圆外 用圆内的点数除以总点数就是/4值。随机点数量越大,越充分覆盖整个图形,计算得到的值越精确。实际上,这个方法的思想是利用离散点值表示图形的面积,通过面积比例来求解值。Python循环结构循环结构实例:圆周率的计算实例:圆周率的计算Python循环结构循环结构实例:圆周率的计算实例:圆周率的计算谢谢谢谢大家大家