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

类型属性 & 相等运算符

Type Attribute & Equality

🔍 身份识别
⚖️ 逻辑判断
🏷️

类型属性 (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
防止程序崩溃!"
🏆