五、Python分支结构的程序实现(课件+学案)2025-2026学年高中信息技术 必修1 数据与计算

资源下载
  1. 二一教育资源

五、Python分支结构的程序实现(课件+学案)2025-2026学年高中信息技术 必修1 数据与计算

资源简介

(共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=1
if not n<=k:
  fac=fac*n
该程序段运行后,fac的值是(  )
A. 0 B. 1
C. 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或else
B. if-else结构是可以嵌套的
C. if语句会判断if后面的逻辑表达式,当表达式的结果为真时,执行if后续的语句块
D. 缩进是Python分支结构的语法部分,缩进不正确会影响分支功能
【解析】 单分支if结构后面不需要有elif或else语句。
A
2. 某Python程序如下:
a=6
if a<0:
  a=-a
程序运行后,a的值为(  )
A. 6 B. -6
C. 0 D. 1
【解析】 当条件表达式的值为True时,语句块被执行,否则语句块不被执行。题中条件表达式a<0的值为False,故分支语句a = -a未被执行。
A
3. 城市出租车按里程收费,小明绘制了收费价格程序的流程图,如图所示,要测试所有程
序分支是否正确,下列测试数据中,正确的是(  )
A. 2,10,12 B. 10,2,6
C. -1,6,10 D. 3,11,100
【解析】 本题主要考查流程图的相关知识。要测试所有程序分支是否正确,则需要将所有分支都判断一遍。测试的三组数据应该分别是小于等于3,大于3且小于等于10,以及大于10,A正确。
A
4. 解方程,根据方程中x和y的关系,完善下面的Python代码,同时输出y的值(保留两位小数)。
x=float(input("请输入x值:"))
if x<1:
  y=x
elif :
  y=2*x-5
else:
  y=3*x+11
print("y=",round(y,2))
方框①处应填写的代码是(  )
A. 1<=x B. 1<=x or x<=10
C. x<=10 D. 1≤x≤10
【解析】 本题考查多分支的相关知识。根据代码段方框①处给出的语句,可以确定变量x需满足的条件是1<=x<=10,因此A、B两项均不正确,D项采用数学符号来描述两个条件之间的关系,不符合Python语言规范,应改为1<=x <=10。由于elif是条件x<1下的分支,方框①处的关系式包含了x>=1这样的潜在条件,所以C项正确。
C
5. 上题中,若要检测所有程序代码分支,下列各组测试数据中,x选值最恰当的是(  )
A. -1,0,30 B. 0,10,50
C. -5,0,10 D. 1,10,20
【解析】 B组数据能够测试所有分支,B正确。
B
6. 有如下程序段:
x = 3
if x >= 1:
  x *= 4
else:
  x += 8
x /= 2
print(x)
该程序段运行后,变量x的值为(  )
A. 1.5 B. 12
C. 6.0 D. 11
【解析】 本题主要考查Python分支结构。x=3满足条件x>=1,执行语句x*=4,x=12。x/=2与if语句对齐,按照顺序结构执行x/=2,因此x=6.0。
C
7. 完善Python程序,输入两个数,比较它们的大小并输出其中较大者。横线上应填(  )
x = int(input("请输入第一个数: "))
y = int(input("请输入第二个数: "))
if x == y:
  print("两数相同!")
elif   :
  print("较大数为:",x)
else:
  print("较大数为:",y);
A. x > y B. x != y
C. 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=1
if not n<=k:
  fac=fac*n
该程序段运行后,fac的值是( C )
A. 0 B. 1
C. 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或else
B. if-else结构是可以嵌套的
C. if语句会判断if后面的逻辑表达式,当表达式的结果为真时,执行if后续的语句块
D. 缩进是Python分支结构的语法部分,缩进不正确会影响分支功能
【解析】 单分支if结构后面不需要有elif或else语句。
2. 某Python程序如下:
a=6
if a<0:
  a=-a
程序运行后,a的值为( A )
A. 6 B. -6
C. 0 D. 1
【解析】 当条件表达式的值为True时,语句块被执行,否则语句块不被执行。题中条件表达式a<0的值为False,故分支语句a = -a未被执行。
3. 城市出租车按里程收费,小明绘制了收费价格程序的流程图,如图所示,要测试所有程序分支是否正确,下列测试数据中,正确的是( A )
A. 2,10,12
B. 10,2,6
C. -1,6,10
D. 3,11,100
【解析】 本题主要考查流程图的相关知识。要测试所有程序分支是否正确,则需要将所有分支都判断一遍。测试的三组数据应该分别是小于等于3,大于3且小于等于10,以及大于10,A正确。
4. 解方程,根据方程中x和y的关系,完善下面的Python代码,同时输出y的值(保留两位小数)。
x=float(input("请输入x值:"))
if x<1:
  y=x
elif :
  y=2*x-5
else:
  y=3*x+11
print("y=",round(y,2))
方框①处应填写的代码是( C )
A. 1<=x
B. 1<=x or x<=10
C. x<=10
D. 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,50
C. -5,0,10 D. 1,10,20
【解析】 B组数据能够测试所有分支,B正确。
6. 有如下程序段:
x = 3
if x >= 1:
  x *= 4
else:
  x += 8
x /= 2
print(x)
该程序段运行后,变量x的值为( C )
A. 1.5 B. 12
C. 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 != y
C. x<=y D. x < y
【解析】 本题主要考查Python分支结构。从题意可知,比较两数的大小并输出其中较大者,而elif下面的语句是输出较大数,因此条件为x>y。

展开更多......

收起↑

资源列表