🟢 领航员 🤖 家长演示

🗺️ 第 2 课:江湖分岔路

第 2 课:🗺️ 江湖分岔路

🎯 学习目标

  • 掌握 if / elif / else 条件判断
  • 了解比较运算符(==, !=, >, <, >=, <=)
  • 了解逻辑运算符(and, or, not)
  • 学会对用户输入进行验证

📚 家长预习指南(5 分钟)

本课核心要点

  • if 条件: — 如果条件成立就执行下面缩进的代码
  • elif 条件: — "否则如果",检查另一个条件
  • else: — "否则",所有条件都不成立时执行
  • 冒号和缩进:if/elif/else 后面要加冒号 :,下一行要缩进 4 格

常见问题

  • 孩子容易忘记冒号 → 口诀:"如果那么(冒号),缩进写代码"
  • === 搞混 → 一个等号是"存",两个等号是"比"
  • 缩进不一致 → 统一用 4 个空格

您的角色

🟢 领航员


🔗 Scratch ↔ Python 对照

Scratch 积木 Python 代码 说明
如果 那么 if 条件: 条件成立才执行
如果 那么...否则 if 条件: ... else: 二选一
菱形判断 ◇ = ◇ a == b 比较是否相等
◇而且◇ a and b 两个条件都要成立

📖 活动模块

模块 A — Scratch 回忆(10 分钟)

目标

回忆"如果-那么"积木,引入 Python 的 if 语法

  1. 回忆 Scratch 里的"如果-那么"积木——"还记得那个嘴巴形状的积木吗?"
  2. 展示 Python 的对应写法:
choice = input("请选择路线(1/2/3):")
if choice == "1":
    print("你选择了忘忧山!")
  1. 解释:== 是"比较",= 是"赋值"——"两个等号问问题,一个等号存东西"

模块 B — 三条路(20 分钟)

目标

实现路线选择——输入 1/2/3 分别进入不同路线

带着孩子一步步写(在第 1 课代码后面继续):

print("\n前方出现三条路:")
print("1. 🏔️ 忘忧山 — 山间清风拂面,偶有小妖出没")
print("2. 🐉 龙王洞 — 洞内阴暗潮湿,危机四伏")
print("3. 👻 幽灵峰 — 雷电交加,强大妖怪盘踞于此")

choice = input("\n请选择路线(1/2/3):")

if choice == "1":
    print(f"\n{name}走上了忘忧山的小路...")
    print("山间清风拂面,鸟语花香,令人心旷神怡。")
elif choice == "2":
    print(f"\n{name}踏入了龙王洞...")
    print("洞内阴暗潮湿,隐约传来低吼声,不寒而栗。")
elif choice == "3":
    print(f"\n{name}登上了幽灵峰...")
    print("峰顶雷电交加,寒风刺骨,非高手不可入。")

🎮 运行游戏:让孩子选不同路线试试,看到不同的描述!

模块 C — 防呆侠客(15 分钟)

目标

加入输入验证——输入了 4 或字母时友好提示

else:
    print("⚠️ 少年侠客迷了路...请输入 1、2 或 3!")

讨论:"如果玩家输错了怎么办?我们要当友好的提示官!"


🤖 AI 环节(家长演示)

阶段

🟢 家长演示

任务

让 AI 帮写三条路线的描述文案

示例提示词

帮我写三条中国武侠风冒险路线的描述,每条 2-3 句话。路线名称是"忘忧山""龙王洞""幽灵峰",需要有不同难度的氛围感,适合四年级孩子阅读。


✅ 最小完成目标

  • [ ] 能选择三条路线并看到不同描述
  • [ ] 使用了 if/elif/else 语法

⭐ 扩展挑战

  • 加入 else 处理非法输入
  • 尝试用 and/or 组合条件(如"只有银两 > 10 才能走龙王洞")

🐛 常见错误提示

错误 原因 解决
SyntaxError if/elif/else 后面忘了冒号 : 在条件或 else 后面加 :
IndentationError if 下面的代码没缩进 缩进 4 个空格
条件不生效 用了 = 而不是 == 比较用两个等号 ==

💻 代码查看

# ==========================================
# 🎮 少年侠客闯江湖 - 第 2 课
# 📚 本课知识点:if/elif/else、比较运算符、逻辑运算符
# ==========================================

# --- 第 1 课的代码 ---
print("=" * 40)
print("  ⚔️  少年侠客闯江湖  ⚔️")
print("=" * 40)
print()

name = input("少年侠客,请赐名:")
hp = 100
attack = 15
silver = 0

print(f"\n少年侠客【{name}】,踏入了江湖...")

# --- 本课新内容:江湖分岔路 ---

# TODO: 用 print() 显示三条路线的选项
# 提示:print("1. 🏔️ 忘忧山")

# TODO: 用 input() 获取玩家的选择
# 提示:choice = input("请选择路线(1/2/3):")

# TODO: 用 if/elif/else 判断选择,打印不同路线的描述
# 提示:
# if choice == "1":
#     print("你走上了忘忧山...")
# elif choice == "2":
#     print("你踏入了龙王洞...")

# TODO(扩展挑战): 加入 else 处理非法输入