第4课 西街小店优惠
45分钟 · 14页课件配套 · 每页含讲述、提问、答案与巡视重点。教师参考应在学生独立作答后使用。保持课程包目录完整,离线活动链接才可直接打开。
第04课 · 教师逐页讲稿第01页 西街小店优惠
建议用时 1 分钟
讲述与活动
教师开场:一家模拟文创体验小店希望程序根据年龄自动选票价。先让学生说说生活中按条件做决定的例子,再说明本课处理的是明确、已给定的规则。所有价格与年龄档位均为课堂设定,不代表实际商家政策。今天要学会把范围写清楚、把程序读清楚,并专门检查分界值。
课堂安排:共45分钟。教师精讲,学生在本课离线网页独立操作。课前打开包内本课HTML,无需班级座号登录和联网,提前完成本机Python初始化。绿色下划线文字为对应课程的可点击入口。
本套课件承接第1课,所有插画只作教学情境示意。封面背景使用生成式插画。
提问
程序怎样按年龄决定票价?
参考答案
执行明确给定的规则,先划分范围,再比较条件,最后核对边界。价格都是模拟设定。
巡视重点
不把人为分支规则说成大模型或机器猜测。
第04课 · 教师逐页讲稿第02页 优惠规则与验证目标
建议用时 2 分钟
讲述与活动
教师提出三条目标:能把规则画成互不重叠的年龄段;能逐行说明程序选择了哪个分支;能用边界数据发现比较符号的错误。学生最后应提交网页原问题的四组记录,并写一组为什么进入该分支。不要只用远离边界的年龄验证,几个看似正确的结果可能掩盖边界错误。
提问
为什么只测试8岁和30岁不够?
参考答案
这两组远离边界,可能发现不了12岁、18岁的等号归属错误;应测试分界前与分界点。
巡视重点
区间是否互不重叠且覆盖约定范围,结果是否包含分支解释。
第04课 · 教师逐页讲稿第03页 优惠规则中的年龄区间
建议用时 3 分钟
讲述与活动
本页专用另一套课堂规则,避免提前给出网页测验答案:未满10岁12元,10至未满16岁22元,16岁及以上32元。请学生在数轴上标出10和16的位置,说明分界值属于右侧区间。提问年龄15与16相差1,为什么可能改变票价?预期回答是跨过规则边界;程序只能执行规则,不能自己猜商家本意。
提问
教师例题的10岁和16岁分别属于哪档?
参考答案
10岁属22元档,16岁属32元档。本页阈值10/16、价格12/22/32与学生主例12/18、15/25/35分开记录。
巡视重点
让学生在数轴上标出边界,明确这里是平行教师示例。
第04课 · 教师逐页讲稿第04页 <与<=的边界差异
建议用时 3 分钟
讲述与活动
教师用10作为比较值,先让学生判断9、10、11是否满足条件,再解释小于与小于等于的差异。右侧提醒“及以上”包含等于。顺便指出Python判断相等要用双等号,单等号是赋值;本课不增加复杂逻辑表达式,只要求正确读写这些比较。巡视时让学生把符号读成完整中文,发现把“小于”读成“不大于”就及时纠正。
提问
10满足age<10、age<=10、age>=10中的哪些?
参考答案
不满足<10,满足<=10和>=10。判断相等用==,赋值用=。
巡视重点
将符号读成完整中文,纠正把“小于”读成“不大于”。
第04课 · 教师逐页讲稿第05页 第一个满足的分支
建议用时 3 分钟
讲述与活动
教师以输入10逐行追踪:第一个条件不成立,继续判断第二个,成立后保存22;不再执行else。然后强调elif的上下文:能来到这里说明已经排除小于10,因此只写小于16就覆盖中间档。print与if对齐,表示选择结束后统一输出。暂不让学生同时修改年龄阈值和价格,先读懂结构再迁移。
提问
教师例题输入10,为什么elif只写age<16就够?
参考答案
第一条件10<10为假,已排除小于10;10<16为真,price=22,不再执行else。
巡视重点
print与if对齐;先读结构,不同时改阈值和价格。
第04课 · 教师逐页讲稿第06页 分支选择的执行过程
建议用时 3 分钟
讲述与活动
教师让学生两人一组,一人扮演条件判断,一人记录价格。请注意表中“跳过”不是判断为假:当第一条已为真,后面的elif根本不会继续判断。以9和15说明两个路径,再让学生独立追踪16。核验记录应同时保留输入、所选分支与输出价格,避免只看最后的数字而不了解选择过程。
提问
9岁进入第一个分支后,elif是判断为假还是跳过?
参考答案
跳过,没有继续判断。9/10/15/16在教师例题中依次为12/22/22/32元。
巡视重点
记录输入、分支和结果;区别“没有执行”和“执行结果为假”。
第04课 · 教师逐页讲稿第07页 冒号与缩进
建议用时 2 分钟
讲述与活动
本页用预算例子观察结构,left设为0。提问两行输出分别属于哪里,预期只出现“够用”和“核对完成”。if、else后都需要英文冒号;缩进的print属于对应分支,最后一行不缩进所以无论哪条路径都会执行。建议统一四个空格,出错先看行号、冒号与对齐;代码有颜色不代表语法一定正确。
提问
left=0时,会输出哪两行?
参考答案
输出“够用”和“核对完成”。最后一行在分支外,始终执行。
巡视重点
冒号、4个空格、print的层级;刚好用完归够用。
第04课 · 教师逐页讲稿第08页 5个小步
建议用时 8 分钟
讲述与活动
学生打开第4课学习页,完成比较边界、条件运算符、分支顺序、冒号修补、边界修复五小步。前3步3分钟、后2步5分钟。巡视时要求先把年龄代入条件,再说真假与所执行语句。注意第5小步的简化两档程序只检验一个指定边界,不代表它已覆盖原问题的全部三档;完成后必须回到原生活问题。
提问
第5小步修好12岁后,能否宣称三档都正确?
参考答案
不能。本步只检验12岁边界的简化两档代码,还需回主任务核对18岁。
巡视重点
先代入条件说真假,再修语法;避免简化任务替代完整任务。
教师参考
分界值要看清:False
解释:12不小于12,结果为False,不能放进未满12岁的档位。
把未满写成条件:<
解释:age < 12正好表达未满12岁;<不把等于12的情况算进去。
按顺序选一档:成人档
解释:两条条件都不成立,执行else,因此18岁进入成人档。
条件后补冒号:age = 11
if age < 12:
print(15)
预期输出:15
解释:冒号标明条件之后的缩进部分是分支;11 < 12成立,所以输出15。
修好12岁边界:age = 12
if age < 12:
print(15)
else:
print(25)
预期输出:25
解释:改为<后,12 < 12不成立,执行else,在本题12岁这组数据上输出25。
第04课 · 教师逐页讲稿第09页 按网页规则计算优惠价
建议用时 8 分钟
讲述与活动
先读学生主任务的三档模拟规则,保留age、price变量名。11、12、17、18岁分别运行,记录分支与票价,完成原规则程序检测。原规则中间档为25元。之后才做20元变式,并进入“验证实验”切换20元方案逐组核对;回本课原任务检测前恢复25元。自动检测核对当前输入、公开用例中的变量与数字输出,通过只表明公开样例正确。 程序检测同时核对结果变量和数字输出;按示例顺序输出票价。可修改标签、添加说明或额外数据,仍须保留这些目标结果的输出与先后顺序。
提问
主任务11、12、17、18岁的价格分别是什么?
参考答案
原规则依次15、25、25、35元,分支为if、elif、elif、else。先通过此版本检测,再做20元变式。
巡视重点
保留age、price与输出票价;标清原规则与变式,不用原25元测试判20元变式错误。
第04课 · 教师逐页讲稿第10页 多个if可能重复赋值
建议用时 2 分钟
讲述与活动
教师描述反例:若先用独立if判断age小于10,把price设12;再用另一个独立if判断age小于16,把price设22,那么年龄9满足两条,第二次赋值覆盖第一次。与if/elif不同,后者选中后不再选后续分支。先让学生口头追踪,再强调不是说多个if永远错误,而是本课互斥三档更适合一条选择链。
提问
两个独立if与if/elif链在9岁时可能有何差别?
参考答案
独立if可能先赋12再赋22,后值覆盖前值;if/elif一旦选中第一档便不再选后续档。
巡视重点
多if并非永远错误,关键是是否符合互斥价格规则。
第04课 · 教师逐页讲稿第11页 边界年龄的测试
建议用时 2 分钟
讲述与活动
让学生围绕教师例题10和16两个分界,分别补上前一个值、分界值、后一个值。预期第一组9、10、11,第二组15、16、17;这些能检查等号归属是否一致。引导学生回到网页自己的边界记录,说明为什么某组比随机年龄更容易找错。年龄为非负整数是输入前提,负年龄不在今天的规则内,不要求额外设计异常处理。
提问
教师例题10与16的边界各选哪三组?
参考答案
9、10、11和15、16、17。主任务对应可选11、12、13和17、18、19。
巡视重点
把教师示例和学生主例分开;非负整数是输入前提。
第04课 · 教师逐页讲稿第12页 迁移:优惠规则改变后
建议用时 2 分钟
讲述与活动
核心任务完成后任选改价或预算迁移。改价:先保留25元原版,再把中间档改成20元,写出11、12、17、18岁的新预期15、20、20、35。打开验证实验的第4课,选择20元方案核对;不要拿原25元检测要求评判20元变式。预算迁移:left<0输出不足,否则够用,必须测left=0。拓展者可用if和余数改写第2课车数。
提问
中间档由25元改20元后,四组预期怎样变?
参考答案
11/12/17/18岁依次15/20/20/35元。到验证实验切换20元方案核对,再返回主任务时恢复25元。
巡视重点
先保留原版,通过新规则的预期核对变式;预算迁移要测试left=0。
第04课 · 教师逐页讲稿第13页 知识检测与自评
建议用时 4 分钟
讲述与活动
安排2分钟独立完成网页测一测,2分钟整理四组原规则记录和自评。不给测验原题答案,让学生用自己的追踪表核验判断。自评要求能说出每条条件排除了哪些年龄,能指出冒号及缩进的作用。教师收集一个仍有疑问的边界,在课后反馈;已做改价迁移的学生要标清版本,避免把20元迁移结果当作25元原规则证据。
提问
提交的边界记录怎样防止版本混淆?
参考答案
主任务提交15/25/25/35的四组原规则记录,20元变式另标版本,并解释一组进入的分支。
巡视重点
检查条件、冒号、缩进和自评依据;导出学习记录,核心任务完成后再扩展。
教师参考
知识题1:else,35元。18不小于12,也不小于18,所以执行else,票价为35元。
知识题2:60。60分应及格,但60>60为False,因此这个边界会被错误判为未及格。
知识题3:12岁。原来12岁进入25元档;修改后12<=12成立,会进入15元档。
第04课 · 教师逐页讲稿第14页 规则、条件与分支
建议用时 2 分钟
讲述与活动
请学生总结规则翻译的三个步骤:先列范围,再写有顺序的条件,最后测试边界。强调if执行人为明确给定的规则,不是猜测意图,也不能称作大模型。收尾让学生用一个边界例子说明自己的证据为何可信,而不是只说程序通过。预告下节会遇到同时满足两种要求的活动报名,单条条件将扩展成条件组合。
提问
规则变化后,为何测试的预期也要变化?
参考答案
程序应满足当前规则。改价后保持旧25元预期会误判,需同步更新目标再测试。
巡视重点
总结范围、分支和边界证据,能解释结果比只报通过更有用。