Python电子教案4-1-程序的控制结构-PPT课件PPT推荐.ppt
《Python电子教案4-1-程序的控制结构-PPT课件PPT推荐.ppt》由会员分享,可在线阅读,更多相关《Python电子教案4-1-程序的控制结构-PPT课件PPT推荐.ppt(44页珍藏版)》请在冰豆网上搜索。
![Python电子教案4-1-程序的控制结构-PPT课件PPT推荐.ppt](https://file1.bdocx.com/fileroot1/2022-10/2/5b95108d-bc3d-4c60-b81c-22a1d2e521c7/5b95108d-bc3d-4c60-b81c-22a1d2e521c71.gif)
,程序的基本结构,对于一个计算问题,可以用IPO描述、流程图描述或者直接以Python代码方式描述。
本书仅对这几种描述进行介绍,功能简单的问题建议大家直接编写Python代码,功能复杂的问题读者可以采用IPO描述或流程图描述为手段。
下面给出3个微实例,通过不同的描述方法具体解释程序的三种基本结构。
程序的基本结构实例,根据圆的半径计算圆的面积和周长。
图4.6分别给出了该问题的IPO描述、流程图描述和Python代码描述。
微实例4.1:
圆面积和周长的计算。
输入:
圆半径R处理:
圆面积:
S=*R*R圆周长:
L=2*R输出:
圆面积S、周长L,程序的描述方式主要有三类,分别是自然语言、流程图和伪代码。
自然语言描述方式指使用人类语言直接描述程序,IPO描述是这类的一种。
优点是灵活自然,缺点是比较繁琐,容易出现二义性,一个描述可以产生多种不同的程序代码。
流程图描述是程序最直观易懂的表达方式,主要适用于较短算法。
优点是直观、清晰且逻辑确定,缺点是流程图绘制比较繁琐,当程序较大时流程图会很复杂,反而降低了表达的清晰性。
程序的基本结构实例,伪代码描述是介于自然语言与编程语言之间的一种算法描述语言。
使用伪代码不用拘泥于具体编程语言,对整个算法运行过程的描述最接近自然语言。
与直接的自然语言描述不同,伪代码在保持程序结构的情况下描述算法,程序的基本结构实例,计算用户给定实数的绝对值。
图4.7分别给出了该计算问题的IPO描述、流程图描述和Python代码描述。
微实例4.2:
实数绝对值的计算,微实例4.3:
整数累加。
正整数R处理:
S=1+2+3+R输出:
输出S,计算1到正整数R的算术和。
图4.8分别给出了该计算问题的IPO描述、流程图描述和Python代码描述。
IPO描述、流程图描述和Python代码描述是解决计算问题的三种描述方式,细致程度逐步递进。
IPO描述主要用于区分程序的输入输出关系,重点在于结构划分,主要采用自然语言描述。
流程图描述侧重于描述算法的具体流程关系,流程图的结构化关系相比自然语言描述更进一步,有助于阐述算法的具体操作过程。
Python代码描述是最终的程序产出,最为细致。
程序的基本结构实例,程序的分支结构,Python中if语句的语法格式如下:
if:
是if条件满足后执行的一个或多个语句序列,中语句通过与if所在行形成缩进表达包含关系。
单分支结构:
if语句,If语句首先评估的结果值,如果结果为True,则执行里的语句序列,然后控制转向程序的下一条语句。
如果结果为False,里的语句会被跳过。
if语句的控制过程如图4.9所示,单分支结构:
if语句,if语句中执行与否依赖于条件判断。
但无论什么情况,控制都会转到if语句后与该语句同级别的下一条语句。
if语句中部分可以使用任何能够产生True或False的语句或函数。
形成判断条件最常见的方式是采用关系操作符。
if语句,Python语言共有6个关系操作符,见表4.1所示。
if语句,一个简化版的空气质量标准采用三级模式:
0-35为优,35-75为良,75以上为污染。
人们也许不关心PM2.5指数值具体为多少,更关心空气质量到底怎样。
计算机可以通过PM2.5指数分级发布空气质量提醒。
微实例4.4:
PM2.5空气质量提醒
(1),该问题的IPO描述如下:
输入:
接收外部输入PM2.5值处理:
ifPM2.5值=75,打印空气污染警告if35=PM2.5值75,打印空气污染警告ifPM2.5值35,打印空气质量优,建议户外运动输出:
打印空气质量提醒,微实例4.4:
PM2.5空气质量提醒
(1),微实例4.4:
PM2.5空气质量提醒
(1),微实例4.4展示了用数字进行条件比较的例子,字符或字符串也可以用于条件比较。
字符串比较本质上是字符串对应的Unicode编码的比较,因此,字符串的比较按照字典顺序进行。
例如,英文大写字符对应的Unicode编码比小写字符小。
以下是一些例子:
PM2.5空气质量提醒
(1),Python中if-else语句用来形成二分支结构,语法格式如下:
else:
二分支结构:
if-else语句,是在if条件满足后执行的一个或多个语句序列,是if条件不满足后执行的语句序列。
二分支语句用于区分的两种可能True或者False,分别形成执行路径。
if-else语句,二分支结构:
if-else语句,二分支结构还有一种更简洁的表达方式,适合通过判断返回特定值,语法格式如下:
ifelse其中,一般是数字类型或字符串类型的一个值,微实例4-5可以改造为:
if-else语句,Python的if-elif-else描述多分支结构,语句格式如下,如图4.10所示if:
elif:
.else:
多分支结构:
if-elif-else语句,多分支结构是二分支结构的扩展,这种形式通常用于设置同一个判断条件的多条执行路径。
Python依次评估寻找第一个结果为True的条件,执行该条件下的语句块,同时跳过整个if-elif-else结构,执行后面的语句。
如果没有任何条件成立,else下面的语句块被执行。
else子句是可选的。
if-elif-else语句,微实例4.4通过多条独立的if语句对同一个变量PM进行判断,这种情况更适合多分支结构,改造后的代码如下:
if-elif-else语句,实例5:
身体质量指数BMI,身体质量指数BMI,BMI值可以“客观的”衡量个人的肥胖程度或者说健康程度。
世界卫生组织(WHO)根据对全球人口体重的统计认为,BMI值低于18.5kg/m2时属于“过轻”,表明个体可能营养不良或者饮食无法保障;
BMI值高于25kg/m2时属于“过重”。
身体质量指数BMI,本实例编写一个根据体重和身高计算BMI值的程序,并同时输出国际和国内的BMI指标建议值。
该问题的IPO描述如下:
身高和体重值处理:
计算BMI值,并根据BMI指标分类找到合适分类输出:
打印指标分类信息,身体质量指数BMI,实例代码5.1,实例代码5.1,程序执行后的效果如下:
实例代码5.1采用了多分支结构对BMI数值按照不同区间范围进行分类,这种采用if-elif-else分支语句进行程序设计的方式十分常见。
尽管需要同时打印国际和国内两套BMI标准,程序中采用两个if-elif-else语句分别计算两类不同BMI值。
这种做法的好处是代码清晰明了,容易调试。
身体质量指数BMI,实例代码5.2,程序执行后的效果如下:
比较实例代码5.1和实例代码5.2可以看到,if语句的运用主要与程序编写者对问题的理解及算法设计有关,采用一组if语句将两套BMI指标融合在一起,这实际上是算法的改变。
即使对专业程序员来说,程序的简洁性和可读性都比更少的代码行数重要,这里,推荐采用实例代码5.1的方式编写程序。
身体质量指数BMI,