计算机科学 3 第 18-26 关
MAGIC LOG BOOK
🦉

函数的返回值

Return Value

📦 魔法快递
⚡ 立即返回
📨

魔法快递员:Return

返回值就是函数执行完任务后,带回来的结果。

就像你让猫头鹰去商店买冰淇淋,它飞回来时爪子里抓着冰淇淋。

def getEnemyX():
  enemy = findEnemy()
  return enemy.pos.x
"那个 return 就是把 X 坐标打包快递回来的动作!"
🏪
🏠
🦉
🍦
🛑

return 的两个作用

return 语句非常霸道:

  1. 📦 送出结果:把数据扔给调用者。
  2. 🚫 结束函数:后面的代码统统不执行
def check():
  return "完成!"
  say("这句话永远不会说") # 灰色地带

一旦 return,函数立马下班!

🏃💨
交货即走,绝不回头
🕵️

程序 I:敌人坐标侦探

def getEnemyX():
  enemy = findNearestEnemy()
  if enemy:
    return enemy.pos.x
  return -1 # 没敌人时的默认值

调用它:

x = getEnemyX()
if x != -1:
  say(x)
如果找到敌人 → 返回 X 坐标
⬇️
没找到 → 返回 -1

确保总是有东西带回来!

🧠

程序 II:多重判断

判断一个东西是否符合所有条件:

def isGoodTarget(target):
  if not target: return False
  if dist(target) > 10: return False
  if target.type != "munchkin": return False
  return True # 完美目标!
提前返回策略 (Early Return):
一发现不行,马上返回 False,别浪费时间!
🛡️ 存在吗?
📏 够近吗?
👾 是小怪吗?
✅ TRUE
🍪

函数重用 (Reusability)

写好一个判断函数,可以到处用!

# 用来判断金币
if isClose(coin): moveXY(...)

# 用来判断敌人
if isClose(enemy): attack(...)
就像一个饼干模具,既可以印面团,也可以印橡皮泥!
🧩

一块拼图,处处能用

📏

距离感知 (Distance)

hero.distanceTo(target)

这是英雄的雷达,告诉你离目标有多远。

d = distanceTo(target)
if d < 15:
  return True

常用于判断是否在“攻击范围”或“捡取范围”内。

Distance: 12m
📜

大魔法师口诀

"Return 是信使,带着结果飞回来。"
"Return 是终点,跑到这里就下班!"
没写 return = 返回 None (空包裹)
🏅