← 首页
00:00点开始
学情 用时 0′ 尝试 0 出错 0 归因 0
B 结构期 · 第六课
一句话分三段,只走一条

前面几课,if 只分两条路:成立走这边,不成立走那边。
今天要分三条路:太短走一档、中等走一档、太长再走一档。

开场 9 分钟怎么花: 回扣课20"两个条件一起判断"(3′)→ 抛"要是有三种情况呢"(3′)→ 发手帖 + 预告作品《三条岔路》(3′)。
老师说 今天海龟面对一个三岔路口:if 问第一句,不成立就 elif 问第二句,
再不成才轮到 else。三条路,一次只走一条。
第二十一种陷阱:elif 写成第二个 if。 学生以为"接着问"就是再写一个 if——于是第一条路成立的圈, 会把第二条路也走一遍,线段凭空变长,图形整个走样。

第一步 · 三段的陷阱 09′–23′ · 14 分钟 · 第一圈怎么这么长

陷阱换了(第二十一种)
该"只走一条",写成了"都走一遍"
老师说 这段代码想画三段台阶:第一圈 40、第二圈 80、第三圈 120。
先猜:第一圈每一步到底走了多少?猜完运行。

盯住第二个 if:它不是 elif。
所以 i=0、1、2 的圈,先走 20,再走 40——一共 60,比该走的多了两倍。

老师纪律:学生说"前三段特别长"时不直接指,只问: 「i=0 这一圈,第一个 if 成立吗?第二个 if 成立吗?——都成立,那它走了几次?」

第二步 · 内存具象化 23′–37′ · 14 分钟 · 三岔路口只走一条

老师说 把 if / elif / else 想成一个三岔路口:
站在路口只问一次,哪条路的牌子先亮,就走那条,走完直接离开——
后面的牌子不再看。这就是 elif 和"第二个 if"的全部区别。
本圈 i
0
走哪条路
短
走了多远
20
为什么坚持手推:"三条路只走一条"最容易错在"以为接着问就会再走一次"。 三列拆开填,逼学生把每一圈最终走的路写死,错误代码的 60 就藏不住了。
休息 1
37′–47′ · 10 分钟 · 站起来动一动
老师说 休息前留一个问题:如果把 elif 全换成 if,图形会变成什么样?
回来第一件事就是验证它。

第三步 · 人肉电脑 47′–65′ · 18 分钟 · 不许按运行

老师说 关掉运行。标准骨架一共 8 圈,每圈只走一条路。
在纸上写:这一圈 i 是几?走哪条路?走了多远?
标准骨架:if i < 4 → forward(40);elif i < 8 → forward(80);else → forward(120);每圈都 left(90)。
人肉电脑的落点:学生要能说出「i=3 为什么不走第一档」—— 因为 i < 3 不成立。说不出这一句,就是没懂 elif 的"往下问"。

第四步 · 自己搭 65′–85′ · 20 分钟 · 写出你自己的三段

老师说 写一段你自己的三段台阶。要求三条:
① 用 elif(不是第二个 if)② 三个分支都要有 ③ 每段长度不一样。
巡场只问三句:第二个分支是 elif 还是 if? 三条路都写了吗?每段长度不一样吗?
休息 2
85′–91′ · 6 分钟 · 伸个懒腰
老师说 回来做实验:把分段点从 3 / 6 改成 2 / 7,看看三段的比例怎么变。

第五步 · 改数试试 91′–105′ · 14 分钟 · 改长度,图形怎么变

老师说 只改三个数:把 40 改成 50、80 改成 95、120 改成 140。
先猜三个方框会变成什么样,再运行。
这一步的收获:长度决定"三个方框差多少", 改一个数就换一整段形状——这就是 if/elif 在真正程序里的用法。

第六步 · 读码迁移 105′–120′ · 15 分钟 · 读出它走哪条路

老师说 最后 15 分钟不写新代码——读。看下面这段,说出它画出什么。
读码四步:① 有几个分支 → ② 每个分支的条件是什么 → ③ 每一圈落在哪个分支 → ④ 图形长什么样。
  • 填手帖:本课三问——三个分支分别管什么 / 每圈落哪支 / 图形长什么样
  • 家庭挑战:把《三条岔路》讲给爸妈听,说清 elif 和第二个 if 的区别
收尾话术(家长版): 「他今天学的不是「多写一个 if」,是三条路只走一条。 您可以问他:为什么第二个分支要用 elif?他说得清,就是真懂了。」

海龟的画布

(摆好卡片,按运行)

对应的 Python 代码 实时同步

本课硬事实 老师自查