内容正文:
2.2 做出判断的分支 导学案
【学习主题】
做出判断的分支——用Python实现“智慧校园·智能选课助手”
【学习时间】
班级:_________ 姓名:_________ 日期:_________
【课前预习区】
一、自主阅读
阅读教材P26-32,思考以下问题:
1. 什么是分支结构?分支结构在程序中的作用是什么?
2. Python中if-else语句的基本格式是怎样的?
3. Python中的关系运算符有哪些?它们分别表示什么含义?
4. 为什么Python中代码的缩进很重要?
二、生活发现——身边的“分支判断”
请观察并记录你生活中遇到的“如果…那么…否则…”场景,至少写出2个:
序号
场景描述
判断条件
条件成立的结果
条件不成立的结果
1
上学迟到检查
到校时间是否晚于7:30
记为迟到
正常记录
2
3
思考:这些场景如果用程序来实现,需要用到什么结构?
三、预学自测
1.在Python中,判断变量a是否等于5的正确表达式是( )
A. a=5 B. a==5 C. a!=5 D. a>=5
2.Python中表示“大于等于”的关系运算符是( )
A. > B. => C. >= D. >>
3.以下关于Python缩进的描述,正确的是( )
A. 缩进只是为了美观,可有可无
B. 缩进必须使用Tab键,不能使用空格
C. Python通过缩进来识别代码块
D. 所有代码都必须有缩进
4.阅读以下代码,如果输入的成绩是85分,程序输出结果是( )
python
score = int(input("请输入成绩:"))
if score >= 90:
print("优秀")
else:
print("继续努力")
A. 优秀 B. 继续努力 C. 无输出 D. 程序报错
四、我的疑问
预习中遇到的问题,记录在下方:
_________________________________________________
_________________________________________________
【课中探究区】
情境导入——“选课助手”需求分析
【情境描述】
新学期选课开始了!学校规定Python编程进阶课的选课条件是:上学期信息科技成绩≥85分,或者获得过校级以上科技类奖项。
【问题引导】
1.如果你是教务老师,如何快速判断大量学生是否符合选课条件?__________________
2.人工判断有什么问题?__________________
3.你能设计一个程序来解决这个问题吗?__________________
探究任务一:分析问题——分解判断逻辑
【任务要求】
请用“如果…那么…否则…”的句式,描述“选课资格判断”的完整逻辑。
如果 _________________________________________________,
那么 _________________________________________________;
否则 _________________________________________________。
【思维进阶】
将上述逻辑拆解为更详细的步骤:
步骤编号 操作内容
第1步 输入用户的信息科技成绩和获奖情况
第2步
第3步
第4步
【知识点梳理】
· 分支结构(选择结构):程序根据条件判断的结果,选择执行不同的代码路径。
· 分支结构的作用:让程序具有“判断能力”,解决生活中的“如果…那么…否则…”问题。
探究任务二:绘制流程图——让思维“可视化”
**【知识回顾】流程图基本符号
符号
名称
功能
○
起止框
表示算法的开始和结束
□
处理框
表示赋值、计算等操作
◇
判断框
表示条件判断,产生分支
▱
输入/输出框
表示数据的输入或输出
→
流程线
表示算法执行的方向
【任务实践】
请在下方空白处绘制“选课资格判断”程序的流程图。
提示:判断框(菱形)会引出两条分支——条件成立走一条路,条件不成立走另一条路。
——————————────────────────────┐
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
└─────────────────────────────
探究任务三:if-else语句——分支结构的语法
【语法学习】
组成部分
语法格式
说明
if语句
if 条件表达式:
判断条件是否成立
语句块A
代码1(缩进)
条件成立时执行
else语句
else:
条件不成立时执行
语句块B
代码2(缩进)
条件不成立时执行
【关系运算符表】
运算符
含义
示例(假设a=10)
结果
>
大于
a > 5
True
<
小于
a < 5
False
>=
大于等于
a >= 10
True
<=
小于等于
a <= 9
False
==
等于
a == 10
True
!=
不等于
a != 10
False
【代码填空】
请补全以下“选课助手”程序的代码:
python
# 选课助手程序
# 选课条件:信息科技成绩≥85分 或 获得过科技类奖项
# 1. 输入数据
score = int(input("请输入你的信息科技成绩:"))
award = input("是否获得过科技类奖项?(是/否):")
# 2. 分支判断(请补全)
if _________________________________________________:
# 条件成立时执行的代码(注意缩进)
print("恭喜!你符合Python编程进阶课的选课条件!")
else:
# 条件不成立时执行的代码(注意缩进)
_________________________________________________
print("程序运行结束")
【调试运行】
将补全后的代码输入Python环境运行,测试以下三组数据,记录运行结果:
测试组
成绩
获奖情况
预期结果
实际结果
是否正确
第1组
90
否
符合条件
第2组
70
是
符合条件
第3组
70
否
不符合条件
探究任务四:创新迁移——解决新问题
【挑战任务】课程冲突检测
学校还有一个需求——提醒学生选修课时间不能与其他课程冲突。请设计一个“课程冲突检测”程序。
【问题分析】
输入:新课时间段、已有课程时间段
判断条件:两个时间段是否相同
输出:若相同则提示“时间冲突,请重新选择”;否则提示“选课成功”
【流程图绘制】
在下方空白处绘制“课程冲突检测”程序的流程图:
——————────────────────────────┐
│ │
│ │
│ │
│ │
└─────────────────────────────
【测评反馈区】
当堂检测
一、选择题
1.以下哪个选项描述的是分支结构?( )
A. 依次执行每一行代码
B. 根据条件判断选择执行路径
C. 重复执行一段代码多次
D. 跳过某段代码不执行
2.在Python中,判断变量x是否大于等于60的正确表达式是( )
A. x >= 60 B. x => 60 C. x > 60 D. x == 60
3.阅读以下代码:
python
age = 17
if age >= 18:
print("已成年")
else:
print("未成年")
程序运行结果是( )
A. 已成年 B. 未成年 C. 无输出 D. 程序报错
二、填空题
1.Python中通过___________来识别代码块,通常使用___________或Tab键。
2.写出下列关系运算符的含义:
> _________ - == _________ - != _________
三、实践题
编写“健康体重提醒”程序:
1.输入:身高(米)和体重(千克)
2.计算BMI = 体重 ÷ 身高²
3.判断:若BMI ≥ 24,输出“体重偏重,注意饮食运动”;否则输出“体重正常,继续保持”
学科网(北京)股份有限公司
$