把古厝台阶问题按最后一步分成走1级或2级两类。用previous与current保存相邻结果,逐轮更新,并解释0级的空走法约定。
□ 能把走法按最后一步分成不重不漏的两类。
□ 能用临时变量更新相邻结果,验证小规模与10级。
□ 能区分顺序不同的走法,并解释0级计1种。
输入约定 阶数为非负整数,标准练习从1级开始;0级约定有1种不走的空走法。每次只走1或2级,不同顺序算不同走法。
纸面S题与网页小步练习可择一完成,另一套用于课后复核。
L11-S1 两级台阶,每次走1或2级,一共有几种走法?
L11-S2 走3级时,1+2与2+1算相同还是不同走法?
L11-S3 1级有1种、2级有2种。3级走法数为何是1 + 2?
L11-S4 previous = 1,current = 1,next_count = previous + ___应填什么?
L11-S5 先算next_count,再previous = current,最后current = ___。循环到4级结果多少?
学习方法 先写预测,再运行核对。结果不一致时,保留原预测并写明修改原因。
按下面四步完成同一个程序。表中各组输入使用同一套计算规则。
预测:先填写表中关键结果;对长时间模型可写估计并注明“估计”。
修改:补全空白,保留主任务变量名和输出语句;每组只改数据区。
运行:逐组运行并对照预测;记录一处修改及其原因。
解释:用关键语句说明结果。迁移题另存程序、按新规则验收。
n = 5
previous = 1
current = 1
for step in range(2, n + 1):
next_count = previous + ___
previous = current
current = ___
print("走法数", current)| n 级 | 预测 走法数 | 运行 current | 解释或修改 |
|---|---|---|---|
| 0级 | |||
| 1级 | |||
| 2级 | |||
| 5级 | |||
| 10级 |
我的解释 用“最后走1级”“最后走2级”解释5级结果来自哪两个结果。为什么更新previous之前要先算next_count?
修改记录 我改了哪一行?原来的问题是什么?用哪组数据证明已改对?
同桌核对 □ 数据符合范围 □ 已运行全部测试 □ 结果带单位 □ 能解释一条语句
基础题与离堂题必做。应用题有余力选一或课后完成;挑战题留作课后。离堂题独立完成。
L11-A1 基础 列出3级的全部走法;说明顺序为何重要。
L11-A2 基础 初始previous = 1、current = 1,正确更新一轮后两个值各是多少?下一轮呢?
L11-B1 应用 用4级5种与5级8种预测6级,再运行主程序。说出两类来源。
L11-B2 应用 运行20级,并与10级结果比较。是否“级数翻倍,走法也翻倍”?
L11-C1 挑战 如果先写previous = current,再写current = previous + current,会丢失什么?用更新到3级作反例。
L11-C2 挑战 改为每次可走1、2、3级。先列出0、1、2、3级结果,再预测4级;不用写完整程序。
L11-E1 独立完成:已知4级5种、5级8种,6级有几种?按最后一步解释,说明为什么没有重复计算。
学习状态 □ 我能独立完成 □ 我需提示 □ 我还要练习
我最需要再练的一点________________________________________________