内容正文:
2.2
做出判断的分支
教科版必修1《数据与计算》教学课件
授课对象:高中一年级 | 课时:1课时(40分钟)
1.7.2013
‹#›
教学流程
01
情境导入
生活中的“判断”
02
新知学习
单分支与双分支
03
双分支练习
三大经典案例
04
新知拓展
多分支语句
05
多分支练习
成绩等级判定
06
总结与作业
巩固与提升
1.7.2013
‹#›
一、情境导入:生活中的“判断”
思考一下:
生活中哪些场景需要我们“根据条件做选择”?
•红绿灯:红灯停,绿灯行。
•考试成绩:及格开心,不及格努力。
•飞船升空:速度达到7.91千米/秒才能成功升空。
引出主题
程序如何实现这种“条件判断”?
今天,我们就来学习Python中的分支语句,让程序学会“做出判断”!
1.7.2013
‹#›
核心概念:关系运算符
关系运算符用于比较两个值,其结果是一个布尔值(True或False)。它们是构成分支语句判断条件的基础,也是逻辑思维在编程中的重要体现。
==
等于 (Equal)
示例: 5 == 5 →True
!=
不等于 (Not Equal)
示例: 5 != 3 →True
>
大于 (Greater Than)
示例: 5 > 3 →True
<
小于 (Less Than)
示例: 5 < 3 →False
>=
大于等于 (Greater or Equal)
示例: 5 >= 5 →True
<=
小于等于 (Less or Equal)
示例: 5 <= 3 →False
易错点提示:区分赋值号“=”和等号“==”:前者是给变量赋值,后者是判断两个值是否相等。初学者常在此处犯错,需特别留意!
1.7.2013
‹#›
核心概念:逻辑运算符
逻辑运算符用于组合多个布尔表达式(关系运算的结果),将简单的判断条件串联起来,实现更复杂的逻辑控制流。
and| 逻辑与
当且仅当两侧的表达式结果都为 True 时,整体结果才为 True。
示例: (5 > 3)and(10 < 20)
结果: True
or| 逻辑或
只要两侧的表达式中有任意一个结果为 True,整体结果即为 True。
示例: (5 < 3)or(10 < 20)
结果: True
not| 逻辑非
一元运算符,用于对单个布尔表达式的结果取反,即“颠倒黑白”。
示例:not(5 > 3)
结果: False
应用场景:当条件需“同时满足”时使用and(如:成年且成绩合格);当条件需“满足其一即可”时使用or(如:未成年或成绩不合格)。
1.7.2013
‹#›
二、新知学习:单分支if语句
02 语法格式
if 条件:
执行语句 # 注意缩进!
Python中使用英文冒号和缩进(通常4个空格)来区分代码块,这是语法的核心规则。
03 执行规则
✅ True (满足):执行缩进内的代码块。
❌ False (不满足):直接跳过,程序继续向下执行。
逻辑如同“岔路口”:
符合条件走左边,不符合走右边,
逻辑清晰简单。
01 流程图
条件
语句组
T
F
1.7.2013
‹#›
二、课堂练习:单分支if语句
01 题目描述
02 流程图
查询课程获得分数是否及格,及格后输出“恭喜你,成绩合格。”,否则没有任何显示。
03 代码展示
score = int(input("请输入分数:"))
if score >= 60:
print("恭喜你,成绩合格!")
只有当输入的分数大于等于60时,才会打印出祝贺信息,否则无任何输出。
score >= 60
输出祝贺信息
T
F
1.7.2013
‹#›
三、新知学习:双分支if-else语句
语法格式
if 条件:
条件成立时执行的语句
else:
条件不成立时执行的语句
流程图
执行规则
● 这是一个“二选一”的逻辑结构,两个分支只会执行其中一个。
● 如果判断条件为 True,程序只执行 if 代码块里的内容。
● 如果判断条件为 False,程序只执行 else 代码块里的内容。
语句组A
语句组B
条件
F
T
1.7.2013
‹#›
四、双分支练习1:判断奇数/偶数
题目描述
请编写一段 Python 程序,实现如下功能:
1. 提示用户输入一个整数
2. 判断该整数是奇数还是偶数
3. 在屏幕上输出最终判断结果
核心解题思路
1. 输入处理:使用input()获取输入,配合int()转换数据类型。
2. 判断逻辑:使用取模运算符%,判断余数是否为1。
3. 分支输出:使用if-else双分支结构输出结果。
# 1. 获取用户输入并转换为整数类型
num=int(input("请输入一个整数:"))
# 2. 判断奇偶并输出结果
if num %2==1:
print(num,"是奇数")
else:
print(num,"是偶数")
“奇数”
偶数
num%2
F
T
输入num
开始
结束
???
???
???
1.7.2013
‹#›
五、双分支练习2:两数大小比较
题目要求
请编写一个程序,输入两个数字(支持小数),并输出其中数值较大的一个。
核心解题思路
01. 获取输入:使用两次 input() 函数获取两个数,并使用 float() 进行类型转换,以支持小数比较。
02. 逻辑判断:利用 if-else 双分支结构进行比较:若 a > b,则 a 是最大值,否则 b 是最大值。
03. 输出结果:使用 print() 函数,将判断得到的最大值打印出来。
Python 参考代码
# 1. 获取用户输入的两个数 (转换为浮点型)
num1 =float(input("请输入第一个数: "))
num2 =float(input("请输入第二个数: "))
# 2. 比较大小并输出结果
if num1 > num2:
print("最大值是: ", num1)
else:
print("最大值是: ", num2)
num1
num2
num1>
num2
F
T
输入num1,num2
开始
结束
???
???
???
1.7.2013
‹#›
六、双分支练习3:快递运费计算
📝 题目描述
快递收费标准:2kg以内(含)统一收费5元。
若包裹重量超出2kg,超出部分每千克加收2元。
请编写程序,根据用户输入的包裹重量,自动计算并输出应付运费。
💡 解题思路
1. 输入:使用 input() 获取包裹重量,转换为浮点数类型。
2. 判断:用 if-else 双分支。若 weight ≤ 2,运费为5元;否则计算 (超出部分 × 2) + 5。
3. 输出:格式化输出最终的应付运费。
💻 Python 参考代码
# 1. 输入包裹重量,并转为浮点数
weight = float(input("请输入包裹重量(kg):"))
# 2. 双分支判断计算运费
if weight <= 2:
cost = 5
else:
cost = 5 + (weight - 2) * 2
# 3. 输出结果
print("应付运费:", cost,"元")
5
(weight-2)*2+5
weight<=2
F
T
输入weight
开始
结束
???
???
???
1.7.2013
‹#›
输入8,输出结果是( )
A.16
B.64
C.100
D.20
练习1:运行Python程序:
x=int(input())
if x>10:
print(x*2)
else:
print(x**2)
B
练习2:下列程序运行后的结果是( )
num=40
if num % 3==0 or num % 5==0:
print("yes")
else:
print("no")
A.yes B.no C.40 D.0
A
练习3:(25-26高二下·浙江温州·期中)学校要挑选身高在1.65米及以上(含1.65米)且1.73米以下(不含1.73米)的女生参加啦啦队,下列Python代码片段中,逻辑正确的是( )
A.
B.
C.
D.
D
七、新知拓展:多分支if-elif-else语句
语法格式
if 条件1:
语句组1
elif 条件2:
语句组2
elif 条件3:
语句组3 ...
else:
语句组N
执行规则
● 顺序检查:代码执行时,按顺序从上到下逐一检查 if、elif 后的条件表达式。
● 遇真即行:一旦遇到第一个计算结果为 True 的条件,就立即执行对应的语句组,且执行完毕后直接跳出整个分支结构。
● 兜底执行:若所有条件均不满足,则执行 else 块中的内容。
关键提示
条件的顺序至关重要!
因为逻辑判断是自上而下进行的,若条件顺序错误,可能导致逻辑上更严格的条件永远无法被匹配到。
建议遵循“从严格到宽松”的顺序排列条件。
1.7.2013
‹#›
八、多分支练习:成绩等级判定
题目描述
输入一个 0-100 的百分制考试分数,编写程序将其转换为对应的等级:
A:≥90分 | B:[80,90)分 | C:[70,80)分 | D:[60,70)分 | E:<60分
解题思路:阶梯式判断
利用if-elif-else多分支结构,从最高分数段开始判断。若不满足,则依次向下匹配,最后通过else兜底处理不及格的情况。
参考代码 (Python)
# 1. 获取并转换用户输入的分数
score = float(input("请输入考试分数:"))
# 2. 多分支条件判断
if score >= 90:
print("等级:A (优秀)")
elif score >= 80:
print("等级:B (良好)")
elif score >= 70:
print("等级:C (中等)")
elif score >= 60:
print("等级:D (及格)")
else:
print("等级:E (不及格)")
1.7.2013
‹#›
练习1:(2025高二上·云南·学业考试)某校成绩管理系统根据学生分数(百分制)自动划分等级。规则是:分数score低于60分为“不及格”,60分至80分为“良好”,80分及以上为“优秀”。若使用Python代码来描述,正确的是( )
A.AB.BC.CD.D
A
练习2:(25-26高一上·浙江杭州·阶段检测)某学校篮球馆的使用规则是:下午4:00-5:00对高一学生开放,5:00-6:00对高二学生开放,6:00后闭馆清洁。设t为当前时间(使用24小时制,如16.5表示下午4:30),下列Python代码中能正确描述这一情景的是( )
A.
if t>=18:
print("闭馆清洁")
elif t>=17:
print("高二学生使用")
else:
print("高一学生使用") B.
if 16<=t<17:
print("高一学生使用")
elif 17<=t<18:
print("高二学生使用")
else:
print("闭馆清洁")
C.
if t<17:
print("高一学生使用")
elif t<18:
print("高二学生使用")
else:
print("闭馆清洁") D.
if 16<=t<17:
print("高一学生使用")
elif 17<=t<18:
print("高二学生使用")
elif t>=18:
print("闭馆清洁")
D
九、课堂小结
📝 分支语句回顾
单分支 if 语句
• 作用:满足条件才执行代码,否则跳过。
• 场景:只有一种情况需处理。
双分支 if-else 语句
• 作用:二选一判断,满足条件执行一个分支,否则执行另一个。
• 场景:奇偶判断、两数比较、运费计算。
多分支 if-elif-else 语句
• 作用:多区间分级判定,从上至下依次检查,匹配即执行。
• 场景:成绩等级划分、会员等级权益判定。
💡 核心易错与重点
条件表达式准确性
注意关系运算符(==, >, <=)的正确使用,避免将赋值号 = 错用为等号。
严格遵守语法规范
不要忘记条件语句末尾的冒号 :,且同一逻辑层级的代码必须对齐缩进。
逻辑顺序很重要
多分支条件需按逻辑顺序排列(如:从高到低或从小到大),避免逻辑错误。
1.7.2013
‹#›
课后作业
基础巩固
独立、完整地编写今天学习的四个案例代码(奇偶判断、两数比较、运费计算、成绩等级),并更换不同的测试数据进行验证,确保代码逻辑准确无误。
能力提升:闰年判断
尝试编写一个程序,输入一个年份,判断它是否为闰年。
💡 闰年规则:
能被 4 整除但不能被 100 整除,
或者能被 400 整除。
1.7.2013
‹#›
参考答案:判断闰年
01 题目描述
📝 任务目标
编写一个程序,从键盘输入任意一个年份(整数),并让计算机判断它是否为闰年,最后输出判断结果。
📐 闰年判定规则
年份是闰年,当且仅当满足以下任一条件:
1. 能被4整除,但不能被100整除。
2. 能被400整除。
02 解题思路
1. 获取输入:
使用input()接收用户输入,并用int()转换为整数类型。
2. 构建判断逻辑:
组合逻辑运算符构建布尔表达式:
(year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
3. 执行分支判断:
使用if-else双分支结构,根据上一步的布尔结果,输出不同的提示信息。
1.7.2013
‹#›
参考答案:判断闰年
03 参考代码
# 1. 输入年份并转为整数
year = int(input("请输入年份:"))
# 2. 判断并输出结果
if(year % 4 == 0andyear % 100 != 0)or(year % 400 == 0):
print(year, "年是闰年")
else:
print(year, "年不是闰年")
“闰年”
“不是闰年”
F
T
输入year
开始
结束
(year % 4 == 0 and year % 100 != 0)
or (year % 400 == 0)
1.7.2013
‹#›
$