资源简介 (共19张PPT)五、 Python分支结构的程序实现信息技术 必修1 数据与计算算法的程序实现第三章知识过关1. 分支结构通过判断某些特定条件是否满足来决定下一步的执行流程,常见的有单分支结构、双分支结构和多分支结构。2. 分支结构条件表达式结果的数据类型是布尔型,值只有True和False两种。3. 注意Python中对缩进有严格要求,可以根据缩进来判断语句的从属关系,一般将语句块缩进4个空格。4. if语句的一般格式(1)单分支结构①if语句,用于处理某一种情况。其语法格式如下:if<条件表达式>: <语句块>当条件表达式的值为True时,执行语句块,否则不执行语句块。(2)双分支结构①if-else语句,用于处理二选一的情况。其语法格式如下:if <条件表达式>: <语句块1>else: <语句块2>②当条件表达式的值为True时,执行语句块1,否则执行语句块2。(3)多分支结构①if-elif-else语句,用于处理多选一的情况。其语法格式如下:if <条件表达式1>: <语句块1>elif <条件表达式2>: <语句块2>……elif <条件表达式n>: <语句块n>else: <语句块n+1>②多分支结构通常用于判断同一个条件或一类条件的多条执行路径,并根据不同条件的结果按照顺序选择执行路径。③一个if语句可以包含多个elif子句,最后一个else子句是可选的。④elif子句仅当其if语句中的条件为假时才执行。⑤如果if语句和elif子句中的条件都不为真,末尾的else子句的语句块就会被执行。⑥带有elif子句的if语句有一个很重要的特性:只要某个条件为真,计算机就会执行其所对应的语句块,执行完后就退出该语句。(4)条件判断组合①嵌套if语句,将一个if语句放在另一个if语句中就形成了一个嵌套if语句。②与多分支结构相比,嵌套if语句的结构更为复杂,可以实现更加复杂的业务逻辑,但是编写代码时,需要注意相同层次的代码必须采用相同的缩进,否则会造成逻辑错误。其语法格式如下:if <条件表达式1>: <语句块1> if <条件表达式2>: <语句块2> else: <语句块3>else: <语句块4> if <条件表达式3>: <语句块5> else: <语句块6>典例精选【例1】 用Python算法控制结构描述“您所在的街道25分钟后小雨,50分钟后雨停”,设t为与天气预报发布时间的间隔(单位:分) ,下列选项中,正确的是 ( )A. if t>50: print("雨停")elif t>25: print("小雨")B. if t>50: print("雨停")else: print("小雨")C. if t>25 and t<=50: print("小雨")else: print("雨停")D. if t>25: print("小雨")elif t>50: print("雨停")【解析】 程序只能判定25分钟后小雨,对25分钟之前的天气情况未做判定,B、C错误,D会把50分钟后也判定成小雨。A【例2】 有如下Python程序段:k=1; n=2; fac=1if not n<=k: fac=fac*n该程序段运行后,fac的值是( )A. 0 B. 1C. 2 D. 3【解析】 本题是选择结构程序段中变量求值的应用,代码段中第1行有3条赋值语句,每条语句之间用“;”分隔。if语句条件部分先做关系运算n<=k,值为False,然后再做逻辑非运算,值为True。因此if语句条件成立,将执行fac=fac*n语句,所以fac变量值最终为2,C正确。C自我检测1. 下列关于Python分支结构的说法,错.误.的是( )A. Python分支结构使用保留字 if、elif和else来实现,每个if后面必须有elif或elseB. if-else结构是可以嵌套的C. if语句会判断if后面的逻辑表达式,当表达式的结果为真时,执行if后续的语句块D. 缩进是Python分支结构的语法部分,缩进不正确会影响分支功能【解析】 单分支if结构后面不需要有elif或else语句。A2. 某Python程序如下:a=6if a<0: a=-a程序运行后,a的值为( )A. 6 B. -6C. 0 D. 1【解析】 当条件表达式的值为True时,语句块被执行,否则语句块不被执行。题中条件表达式a<0的值为False,故分支语句a = -a未被执行。A3. 城市出租车按里程收费,小明绘制了收费价格程序的流程图,如图所示,要测试所有程序分支是否正确,下列测试数据中,正确的是( )A. 2,10,12 B. 10,2,6C. -1,6,10 D. 3,11,100【解析】 本题主要考查流程图的相关知识。要测试所有程序分支是否正确,则需要将所有分支都判断一遍。测试的三组数据应该分别是小于等于3,大于3且小于等于10,以及大于10,A正确。A4. 解方程,根据方程中x和y的关系,完善下面的Python代码,同时输出y的值(保留两位小数)。x=float(input("请输入x值:"))if x<1: y=xelif : y=2*x-5else: y=3*x+11print("y=",round(y,2))方框①处应填写的代码是( )A. 1<=x B. 1<=x or x<=10C. x<=10 D. 1≤x≤10【解析】 本题考查多分支的相关知识。根据代码段方框①处给出的语句,可以确定变量x需满足的条件是1<=x<=10,因此A、B两项均不正确,D项采用数学符号来描述两个条件之间的关系,不符合Python语言规范,应改为1<=x <=10。由于elif是条件x<1下的分支,方框①处的关系式包含了x>=1这样的潜在条件,所以C项正确。C5. 上题中,若要检测所有程序代码分支,下列各组测试数据中,x选值最恰当的是( )A. -1,0,30 B. 0,10,50C. -5,0,10 D. 1,10,20【解析】 B组数据能够测试所有分支,B正确。B6. 有如下程序段:x = 3if x >= 1: x *= 4else: x += 8x /= 2print(x)该程序段运行后,变量x的值为( )A. 1.5 B. 12C. 6.0 D. 11【解析】 本题主要考查Python分支结构。x=3满足条件x>=1,执行语句x*=4,x=12。x/=2与if语句对齐,按照顺序结构执行x/=2,因此x=6.0。C7. 完善Python程序,输入两个数,比较它们的大小并输出其中较大者。横线上应填( )x = int(input("请输入第一个数: "))y = int(input("请输入第二个数: "))if x == y: print("两数相同!")elif : print("较大数为:",x)else: print("较大数为:",y);A. x > y B. x != yC. x<=y D. x < y【解析】 本题主要考查Python分支结构。从题意可知,比较两数的大小并输出其中较大者,而elif下面的语句是输出较大数,因此条件为x>y。A五、 Python分支结构的程序实现1. 分支结构通过判断某些特定条件是否满足来决定下一步的执行流程,常见的有单分支结构、双分支结构和多分支结构。2. 分支结构条件表达式结果的数据类型是布尔型,值只有True和False两种。3. 注意Python中对缩进有严格要求,可以根据缩进来判断语句的从属关系,一般将语句块缩进4个空格。4. if语句的一般格式(1)单分支结构①if语句,用于处理某一种情况。其语法格式如下:if<条件表达式>: <语句块>当条件表达式的值为True时,执行语句块,否则不执行语句块。(2)双分支结构①if-else语句,用于处理二选一的情况。其语法格式如下:if <条件表达式>: <语句块1>else: <语句块2>②当条件表达式的值为True时,执行语句块1,否则执行语句块2。(3)多分支结构①if-elif-else语句,用于处理多选一的情况。其语法格式如下:if <条件表达式1>: <语句块1>elif <条件表达式2>: <语句块2>……elif <条件表达式n>: <语句块n>else: <语句块n+1>②多分支结构通常用于判断同一个条件或一类条件的多条执行路径,并根据不同条件的结果按照顺序选择执行路径。③一个if语句可以包含多个elif子句,最后一个else子句是可选的。④elif子句仅当其if语句中的条件为假时才执行。⑤如果if语句和elif子句中的条件都不为真,末尾的else子句的语句块就会被执行。⑥带有elif子句的if语句有一个很重要的特性:只要某个条件为真,计算机就会执行其所对应的语句块,执行完后就退出该语句。(4)条件判断组合①嵌套if语句,将一个if语句放在另一个if语句中就形成了一个嵌套if语句。②与多分支结构相比,嵌套if语句的结构更为复杂,可以实现更加复杂的业务逻辑,但是编写代码时,需要注意相同层次的代码必须采用相同的缩进,否则会造成逻辑错误。其语法格式如下:if <条件表达式1>: <语句块1> if <条件表达式2>: <语句块2> else: <语句块3>else: <语句块4> if <条件表达式3>: <语句块5> else: <语句块6>【例1】 用Python算法控制结构描述“您所在的街道25分钟后小雨,50分钟后雨停”,设t为与天气预报发布时间的间隔(单位:分),下列选项中,正确的是 ( A )A. if t>50: print("雨停")elif t>25: print("小雨")B. if t>50: print("雨停")else: print("小雨")C. if t>25 and t<=50: print("小雨")else: print("雨停")D. if t>25: print("小雨")elif t>50: print("雨停")【解析】 程序只能判定25分钟后小雨,对25分钟之前的天气情况未做判定,B、C错误,D会把50分钟后也判定成小雨。【例2】 有如下Python程序段:k=1; n=2; fac=1if not n<=k: fac=fac*n该程序段运行后,fac的值是( C )A. 0 B. 1C. 2 D. 3【解析】 本题是选择结构程序段中变量求值的应用,代码段中第1行有3条赋值语句,每条语句之间用“;”分隔。if语句条件部分先做关系运算n<=k,值为False,然后再做逻辑非运算,值为True。因此if语句条件成立,将执行fac=fac*n语句,所以fac变量值最终为2,C正确。1. 下列关于Python分支结构的说法,错误的是( A )A. Python分支结构使用保留字 if、elif和else来实现,每个if后面必须有elif或elseB. if-else结构是可以嵌套的C. if语句会判断if后面的逻辑表达式,当表达式的结果为真时,执行if后续的语句块D. 缩进是Python分支结构的语法部分,缩进不正确会影响分支功能【解析】 单分支if结构后面不需要有elif或else语句。2. 某Python程序如下:a=6if a<0: a=-a程序运行后,a的值为( A )A. 6 B. -6C. 0 D. 1【解析】 当条件表达式的值为True时,语句块被执行,否则语句块不被执行。题中条件表达式a<0的值为False,故分支语句a = -a未被执行。3. 城市出租车按里程收费,小明绘制了收费价格程序的流程图,如图所示,要测试所有程序分支是否正确,下列测试数据中,正确的是( A )A. 2,10,12B. 10,2,6C. -1,6,10D. 3,11,100【解析】 本题主要考查流程图的相关知识。要测试所有程序分支是否正确,则需要将所有分支都判断一遍。测试的三组数据应该分别是小于等于3,大于3且小于等于10,以及大于10,A正确。4. 解方程,根据方程中x和y的关系,完善下面的Python代码,同时输出y的值(保留两位小数)。x=float(input("请输入x值:"))if x<1: y=xelif : y=2*x-5else: y=3*x+11print("y=",round(y,2))方框①处应填写的代码是( C )A. 1<=xB. 1<=x or x<=10C. x<=10D. 1≤x≤10【解析】 本题考查多分支的相关知识。根据代码段方框①处给出的语句,可以确定变量x需满足的条件是1<=x<=10,因此A、B两项均不正确,D项采用数学符号来描述两个条件之间的关系,不符合Python语言规范,应改为1<=x <=10。由于elif是条件x<1下的分支,方框①处的关系式包含了x>=1这样的潜在条件,所以C项正确。5. 上题中,若要检测所有程序代码分支,下列各组测试数据中,x选值最恰当的是( B )A. -1,0,30 B. 0,10,50C. -5,0,10 D. 1,10,20【解析】 B组数据能够测试所有分支,B正确。6. 有如下程序段:x = 3if x >= 1: x *= 4else: x += 8x /= 2print(x)该程序段运行后,变量x的值为( C )A. 1.5 B. 12C. 6.0 D. 11【解析】 本题主要考查Python分支结构。x=3满足条件x>=1,执行语句x*=4,x=12。x/=2与if语句对齐,按照顺序结构执行x/=2,因此x=6.0。7. 完善Python程序,输入两个数,比较它们的大小并输出其中较大者。横线上应填( A )x = int(input("请输入第一个数: "))y = int(input("请输入第二个数: "))if x == y: print("两数相同!")elif : print("较大数为:",x)else: print("较大数为:",y);A. x > y B. x != yC. x<=y D. x < y【解析】 本题主要考查Python分支结构。从题意可知,比较两数的大小并输出其中较大者,而elif下面的语句是输出较大数,因此条件为x>y。 展开更多...... 收起↑ 资源列表 五、 Python分支结构的程序实现.docx 五、 Python分支结构的程序实现.pptx