本节课任务:
在一群敌人中,找出那个“最特别”的!
(最强的 💪 或 最弱的 🤏)
一排排好队的东西(敌人、硬币)。
一个数字变量,像手指一样,从 0 指到最后一个。
“从头到尾,一个一个看过去。”
enemyIndex = 0 while enemyIndex < len(enemies): enemy = enemies[enemyIndex] # 👉 这里对 enemy 做事情 enemyIndex += 1
def findStrongestEnemy(enemies): strongest = None maxHealth = 0 # 🐣 初始值设为很小 index = 0 while index < len(enemies): enemy = enemies[index] # 💪 谁更强?比一比! if enemy.health > maxHealth: strongest = enemy maxHealth = enemy.health index += 1 return strongest
关键点:
> 大于号:找更大的。maxHealth = 0:初始门槛很低,谁都能上来。weakest = None minHealth = 99999 # 🏔️ 初始值设为很大 index = 0 while index < len(enemies): enemy = enemies[index] # 🤏 谁更弱?比一比! if enemy.health < minHealth: weakest = enemy minHealth = enemy.health index += 1 if weakest: hero.attack(weakest)
关键点:
< 小于号:找更小的。minHealth = 99999:门槛很高,很容易被“更小”的取代。结构都是一样的,只有两个地方不同!
初始值:
很小 (0)
比较符号:
>
if val > best:
初始值:
很大 (99999)
比较符号:
<
if val < best: