这节课我们要把之前学过的所有“大招”都串起来!
循环、数组、迭代、算法...
while True: enemies = hero.findEnemies() index = 0 # 外层:一个个看 while index < len(enemies): enemy = enemies[index] # 内层:死磕到底 while enemy.health > 0: hero.attack(enemy) index += 1
List (列表/数组): 一排排好队的东西。
Index (索引): 像手指一样,从 0 指到最后。
| Index | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| Name | Yetu | Tabitha | Rasha | Max |
| Type | 👹 | 👱♀️ | 👹 | 👱♂️ |
index += 2 可以隔一个跳一个!index = 0 # 👇 标准迭代模板 while index < len(listName): item = listName[index] # 对 item 做点事... index += 1 # 或者 += 2
遍历整个“文具盒”,只把“橡皮擦”拿出来。
# 场景1:只捡金币 if coin.value == 3: hero.moveXY(coin.pos.x, coin.pos.y)
# 场景2:只打萨满 if enemy.type == "shaman": hero.attack(enemy)
== (等于), != (不等于)
场景:最强敌人 (Health 大)
> (大于)maxVal = 0 if val > maxVal: maxVal = val best = item
场景:最近硬币 (Distance 小)
< (小于)minVal = 9999 if val < minVal: minVal = val best = item
想象你有一个“金币记账本”。
一开始是 0,每看到一个硬币,就把它的价值 加 进去。
totalValue += coin.valuedef sumCoins(coins): total = 0 # 初始为0 index = 0 while index < len(coins): coin = coins[index] # 👇 累加器 total += coin.value index += 1 return total
把复杂的 while 循环藏在函数里。
以后想用的时候,直接喊它的名字,不用再写一遍循环了!
findStrongest(enemies)sumCoins(coins)输入参数 (Parameter) →
神奇的黑盒子
→ 输出结果 (Return)
index = 0
while index < len(list):
item = list[index]
index += 1
best = None
maxVal = 0
if val > maxVal:
best = item
best = None
minVal = 9999
if val < minVal:
best = item