谁能帮我解决这个问题?时隔多年又重新开始编程。在来这里之前,我确实在网上做了一些搜索。我注意到i
需要递减,所以我这样做了,我通常在几乎所有其他语言中这样做。为什么python给我这么多麻烦(语法错误)减少i
在enemies[]
1 ?
for i in range(len(enemies)):
enemy_x, enemy_y, enemy_speed = enemies[i -= 1]
i -= 1
是一个赋值语句(它会导致对i
重新赋值),而不是一个带值的表达式。[]
操作符需要一个可以用作索引的值。
因为for i in range...
给你增加i
的值,你不想在循环中重新分配i
;只需从中减去并使用结果值:
for i in range(len(enemies)):
enemy_x, enemy_y, enemy_speed = enemies[i - 1]
注意,循环的第一次迭代将给你最后一个敌人(enemies[-1]
)。如果这不是您想要的,您可能会发现直接迭代enemies
更容易:
for enemy_x, enemy_y, enemy_speed in enemies:
# do stuff with those three variables