资源简介 (共14张PPT)3.2.5 分支结构程序实现DATA ACQUISITION AND CODING《数据与计算》1. 问题分析分支结构:算法中先进行条件判断,再根据判断结果分别执行不同处理的控制结构。条件满足?语句块1语句块2分支结构的程序实现:1.一般If语句if <条件>:<语句块 1>else:<语句块2>若只对条件为真时进行处理:if <条件>:<语句块 1>if 今晚不下雨:去体育馆打篮球else:去健身房健身在这个例子中,只有“下雨”和“不下雨”这两种情况,2.问题升级如何编写程序??打开word 尝试编写伪代码2.问题升级if 今晚下雨 and 朋友有空:和朋友一起看电影if 今晚下雨 and 朋友没空:独自一个人健身房健身if 今晚不下雨 and 朋友有空:和朋友一起打篮球if 今晚不下雨 and 朋友没空:独自一个人户外长跑if 今晚下雨 and 朋友有空:和朋友一起看电影else:if 今晚下雨 and 朋友没空:独自一个人健身房健身else:if 今晚不下雨 and 朋友有空:和朋友一起打篮球else:独自一个人户外长跑方法1方法2讨论:这两种程序实现的方式好不好,是否有什么缺点?2.问题升级2.if-elif语句if <条件1>:<语句块 1>elif <条件2>:<语句块 2>……elif <条件N>:<语句块N>else:<语句块N+1>一个if语句可以包含多个elif子句,最后一个else语句是可选的。elif子句仅当其if语句中的条件为假时才执行。如果if语句和elif子句中的条件都不为真时,末尾的else子句的语句块就会被执行。因此,带有elif子句的if语句有一个很重要的特性:只要某个条件为真,计算机就会执行其所对应的语句块,然后退出该语句。试一试:使用if-elif语句的分支结构将伪代码稍作修改任务一:2.if-elif语句if <条件1>:<语句块 1>elif <条件2>:<语句块 2>……elif <条件N>:<语句块N>else:<语句块N+1>编写程序,输入分数([1, 100]之间的整数),如果分数在[85, 100]之间等第为优秀,[70, 84]等第为良好,[60, 69]之间等第为合格,[0, 59]之间等第为不合格。先尝试使用伪代码写一下,再修改为python语句任务一:2.if-elif语句if <条件1>:<语句块 1>elif <条件2>:<语句块 2>……elif <条件N>:<语句块N>else:<语句块N+1>参考答案:score = int(input("请输入分数:"))if score >= 85:print("优秀")elif score >= 70:print("良好")elif score >= 60:print("合格")else:print("不合格")3班2.任务二:2.if-elif语句if <条件1>:<语句块 1>elif <条件2>:<语句块 2>……elif <条件N>:<语句块N>else:<语句块N+1>目前,国内很多高速公路都启用了区间测速。所谓区间测速,是在同一路段上布设两个监测点,基于车辆通过前后两个监测点的时间来计算车辆在该路段上的平均行驶速度,并依据该路段上的限速标准判定车辆是否超速。现有一段长为25千米的测速区间,小车的限速是100千米/小时。数据中心需要编写一 段程序,用来判断某辆小车在此测速路段是否超速。在上述“区间测速”的基础上,如果某辆小车超速,数据中心能同步显示超速的程度, 如“超过规定时速且不足20%”、“超过规定时速20%以上且不足50%”、“超过规定时速50% 以上且不足70%”、“超过规定时速70%以上”。如何用程序来实现这个目标?对该任务进行抽象建模,随后设计算法,最终编写程序用于判断小车是否在此测速路段超速2班 1班2.任务二:2.if-elif语句if 条件1:语句块 1elif 条件2:语句块 2……elif 条件N:语句块Nelse:语句块N+1根据流程图直接编写程序2.问题升级编写程序3.课堂练习1.有如下程序段,运行之后a、b的值分别为 、 。a = -1b = 1if a < b: a = a + b b = a - b a = a - bprint(a, b)2.下面程序判断输入的字符串中是否包含字符“!”s = input("请输入字符串:")if : print("字符串包含!")else: print("字符串不包含!")划线处应填写的程序代码是 。3.课堂练习3.有如下程序段:n = int(input("请输入一个整数:"))if ① : print("n能同时被2、3整除")elif ② : print("n只能被2整除")elif n % 3 == 0: print("n只能被3整除")划线①处应填写的程序代码是 。划线②处应填写的程序代码是 。4.阅读如下程序段:a = 6b = 18c = 26if a >= b and a >= c: max = aelif b >= a and b >= c: max = belif c >= a and c >= b: max = cprint(max)该程序段运行后,输出的max的值是 。3.课堂小结2.if-elif语句if <条件1>:<语句块 1>elif <条件2>:<语句块 2>……elif <条件N>:<语句块N>else:<语句块N+1>分支结构的程序实现:1.一般If语句if <条件>:<语句块 1>else:<语句块2>若只对条件为真时进行处理:if <条件>:<语句块 1> 展开更多...... 收起↑ 资源预览