计算机科学 3 第 14-18 关
🆔

类型属性 & 相等运算符

Type Attribute & Equality

🔍 身份识别
⚖️ 逻辑判断

本节课关卡

扣哒世界 · 计算机科学3 · Python · 第14–18关

Python · 本节课关卡

14 · 边地投弹

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

15 · 叫阵

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

16 · 濒危树瘤之战

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

17 · 嘲弄

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

18 · 概念挑战. 错误的类型

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

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

🏷️

类型属性 (Type Attribute)

每个角色都有一个 type 属性,就像它的“身份证”。

enemy = hero.findNearestEnemy()
# 检查衣服标签(类型)
if enemy.type == "munchkin":
  hero.attack(enemy)
"通过 type,我们可以区分朋友、敌人、小怪兽还是大Boss!"
👾
type: "munchkin"
⚖️

相等运算符 (Equality Operator)

== 是身份检查官,它问:“这两边一样吗?”

# 赋值 (贴标签)
name = "Alice"

# 比较 (问问题)
if name == "Alice":
  print("Hi Alice!")

⚠️ 注意:= 是赋值,== 是比较!

A
B
🚪

多重检查 (Nested)

像过安检一样,一层层检查。

if enemy:
  # 第一重:有人吗?
  if enemy.type == "munchkin":
    # 第二重:是小矮人吗?
    hero.attack(enemy)
只有所有门都打开,才能执行最后的动作!
1. enemy?
2. munchkin?
⚔️
🤠
🔤

字符串比较

检查文字是否完全一样。

  • ✅ "apple" == "apple"
  • ❌ "Apple" == "apple" (大小写不同)
  • ❌ "app" == "apple" (长度不同)
if password == "OpenSesame":
  door.open()
🅰️ ≠ ⓐ

电脑对大小写很敏感!

💡

布尔值 (Boolean)

只有两个值:True (真) 和 False (假)。

比较的结果就是布尔值:

result = (5 == 5)
# result 现在是 True

就像开关,只有“开”和“关”两种状态。

True
🚀

扩展应用 (Or / Else)

1. 攻击多种敌人 (or)

if type == "munchkin" or type == "thrower":
  attack()

2. 避开强者 (else)

if type == "ogre":
  runAway()
else:
  attack()
👾 / 👹
分类处理
🎮

实战:选择性攻击

这就是你的 AI 逻辑:

  1. 👀 持续监控 (while True)
  2. 🔍 寻找目标 (findNearestEnemy)
  3. 🛡️ 安全检查 (if enemy)
  4. 🆔 身份确认 (if type == "munchkin")
  5. ⚔️ 执行攻击 (attack)
👮‍♂️
保安巡逻中...
✨

魔法小贴士

"== 是问问题,= 是贴标签。"
"先检查 if enemy:,
再检查 type,
防止程序崩溃!"
🏆

我的知识宝藏 · 一页复习

扣哒世界 · 计算机科学3 · Python · 第14–18关

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

类型属性

每个角色都有一个 type 属性,就像它的“身份证”。

enemy = hero.findNearestEnemy()

相等运算符

== 是身份检查官,它问:“这两边一样吗?”

多重检查

像过安检一样,一层层检查。

hero.attack(enemy)

字符串比较

检查文字是否完全一样。

布尔值

只有两个值:True (真) 和 False (假)。

result = (5 == 5)

扩展应用

1. 攻击多种敌人 (or)

实战:选择性攻击

这就是你的 AI 逻辑:

魔法小贴士

先检查类型、拼写和运算顺序;一次修改一个地方,用运行结果验证想法。

本节课关卡:14. 边地投弹;15. 叫阵;16. 濒危树瘤之战;17. 嘲弄;18. 概念挑战. 错误的类型