计算机科学 3 第 38-41 关
SYSTEM: ONLINE
🧬

逻辑运算符 and

双重检查专家

⛓️ 严密逻辑
⚕️ 精准医疗

本节课关卡

扣哒世界 · 计算机科学3 · Python · 第38–41关

Python · 本节课关卡

38 · 春雷

先读关卡目标,观察地图,再运用本课知识。

39 · 传送套索

先读关卡目标,观察地图,再运用本课知识。

40 · 狩猎斗士

先读关卡目标,观察地图,再运用本课知识。

41 · 概念挑战. 有用的狩猎

先读关卡目标,观察地图,再运用本课知识。

学习路线:读目标 → 看图解 → 写代码 → 运行检查

👮‍♂️

严格检查官:and

and 就像一个超级严格的检查官。

他会检查所有条件,只有全部满足,才肯放行。

if type == "burl" and health < 10:
  heal(unit)
"既要是特定的种族,又要真的生病了(血量低),才给治疗!"
🛑
✅
AND
✅
⬇️
PASS
🔌

串联电路原理

把 and 想象成串联电路中的开关。

电流必须流过所有开关才能点亮灯泡。

  • ❌ 关 + 关 = 灭 (False)
  • ❌ 开 + 关 = 灭 (False)
  • ❌ 关 + 开 = 灭 (False)
  • ✅ 开 + 开 = 亮 (True)
OFF
OFF
💡
⚕️

实战:精准医疗战士

医生诊断病人需要满足两个条件:

if type == "burl" and health < 10:
  heal(unit)
else:
  say("Next!")

"只治疗濒死的树精,健康的不管。"

🌳
Type: Burl ✔️
Health: 50 ✔️
WAITING...
❤️

健康值 (Health Value)

health 属性代表生命力。

  • 📈 数值大 = 健康
  • 📉 数值小 = 虚弱
if enemy.health < 10:
  attack(enemy) # 补刀!
Health: 100
Health: 5 (Critical!)
🔀

备选方案:else

else 就像“B 计划”。
当主要条件(if)不满足时,执行它。

if condition:
  do_A()
else:
  do_B()
"如果符合条件就治疗,否则就走开。"
🛣️
⬆️ IF (True)
⬇️ ELSE (False)
🛡️

安全检查 (Safety)

在使用 enemy.type 之前,必须确保 enemy 真的存在!

# ❌ 危险:enemy 可能是 None
if enemy.type == "burl"...

# ✅ 安全:先检查存在
if enemy and enemy.type...

如果 enemy 是 None,and 会立刻停止(短路),防止报错。

👻 ➡️ 🚫
Null Protection
🥊

组合拳 (AND + OR)

我们可以把 and 和 or 混合使用,加上括号 () 更清晰。

if (type == "A" or type == "B") and health < 10:
  attack()

含义:
1. 是A或者B(任选其一)
2. 并且 血量低

(🅰️ || 🅱️) && 🩸
🎓

医生口诀

"and 是全部都要,
缺一个就不通过!"
"先查存在再查属性,
安全第一不报错!"
🏅

我的知识宝藏 · 一页复习

扣哒世界 · 计算机科学3 · Python · 第38–41关

Python · 知识点图
关键字方法 / 函数字符串数字

严格检查官:and

and 就像一个超级严格的检查官。

串联电路原理

把 and 想象成串联电路中的开关。

实战:精准医疗战士

医生诊断病人需要满足两个条件:

健康值

health 属性代表生命力。

备选方案:else

else 就像“B 计划”。 当主要条件(if)不满足时,执行它。

安全检查

在使用 enemy.type 之前,必须确保 enemy 真的存在!

组合拳 (AND + OR)

我们可以把 and 和 or 混合使用,加上括号 () 更清晰。

本节课关卡:38. 春雷;39. 传送套索;40. 狩猎斗士;41. 概念挑战. 有用的狩猎