第04课 西街小店优惠 学生任务单

第04课 西街小店优惠

学生任务单 45分钟 姓名____________ 班级____________ 日期____________

把模拟体验票规则写成 if、elif、else 分支:未满12岁15元,12至未满18岁25元,18岁及以上35元。专门检查11、12、17、18岁边界。

本课完成标准

□ 能将年龄规则写成互不遗漏的三个范围。

□ 能用冒号和统一4个空格缩进完成分支。

□ 能验证四个边界并解释分支选择;学有余力独立验证20元变式。

输入约定 年龄为非负整数,单位为岁;票价单位为元。所有规则为课堂模拟,不代表任何真实商家。主任务固定15/25/35元,20元变式另存程序单独验证。

先拆成五个小问题

纸面S题与网页小步练习可择一完成,另一套用于课后复核。

L4-S1 写出 12 < 12 的结果;“未满12岁”是否包括12岁?

L4-S2 补出比较符号:if age ___ 12: 表示未满12岁。

L4-S3 18岁依次判断 age < 12 和 age < 18,结果是什么?最终进入哪个分支?

L4-S4 补符号并说明下一行要求:if age < 12___

L4-S5 若第一条误写 age <= 12,12岁的票价会从多少变成多少?

学习方法 先写预测,再运行核对。结果不一致时,保留原预测并写明修改原因。

L4-M1 主任务实验记录

按下面四步完成同一个程序。三组或四组输入必须使用同一套计算规则。

预测:按15/25/35元主规则填写四个边界,圈出分界值12和18。

修改:补比较符号;保留冒号、4个空格缩进和最后不缩进的print。

运行:依次输入11、12、17、18,记录实际票价与进入的分支。

解释:逐条代入12或18,说明为什么没有进入相邻分支。

age = int(input("年龄:"))
if age ___ 12:
    price = 15
elif age ___ 18:
    price = 25
else:
    price = 35
print("票价", price, "元")
年龄 岁预测 票价 元运行 票价 元进入的分支
11
12
17
18

我的解释 本任务先判断未满12岁,再判断未满18岁。为什么第二条不用重复写“至少12岁”?用12岁解释。

修改记录 我改了哪一行?原来的问题是什么?用哪组数据证明已改对?

同桌核对 □ 数据符合范围 □ 已运行全部测试 □ 结果带单位 □ 能解释一条语句

分层练习与独立离堂题

基础题与离堂题必做。应用题有余力选一或课后完成;挑战题留作课后。离堂题独立完成。

L4-A1 基础 写出0岁、12岁、18岁、30岁分别对应的主任务票价。

L4-A2 基础 60分及以上及格,条件却写 score > 60。用一个测试值指出错误,并写出正确条件。

L4-B1 应用 复制为“20元变式”,只将12至未满18岁档改为20元。分别测试11、12、17、18岁,写出四个票价。

L4-B2 应用 为第3课增加提醒:余量小于0输出“预算不足”,否则输出“预算够用”。写条件,并检验余量-4、0、6.5。

L4-C1 挑战 用if改写车数:先 buses = students // seats,只有余数大于0才加1。写出条件,并核对0、40、41、47人每车20座。

L4-C2 挑战 把主程序的elif改成独立if,其他不变。11岁最后会得到多少元?解释第二个if和else的关系。

独立离堂题

L4-E1 独立完成:主规则下,12岁和18岁各走哪个分支、票价多少?若把 age < 18 改为 age <= 18,哪个边界会错?

学习状态 □ 我能独立完成 □ 我需提示 □ 我还要练习

我最需要再练的一点________________________________________________