把模拟体验票规则写成 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岁的票价会从多少变成多少?
学习方法 先写预测,再运行核对。结果不一致时,保留原预测并写明修改原因。
按下面四步完成同一个程序。三组或四组输入必须使用同一套计算规则。
预测:按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,哪个边界会错?
学习状态 □ 我能独立完成 □ 我需提示 □ 我还要练习
我最需要再练的一点________________________________________________