每次运行这个程序时,我都会出现以下错误:
ValueError: list.remove(x): x not in list
每当一个外星人被攻击时,我想降低它的生命值。如果这个外星人的健康值<= 0
,它也应该被摧毁。同样地,闪电也会被摧毁。以下是我的代码:
def manage_collide(bolts, aliens):
# Check if a bolt collides with any alien(s)
for b in bolts:
for a in aliens:
if b['rect'].colliderect(a['rect']):
for a in aliens:
a['health'] -= 1
bolts.remove(b)
if a['health'] == 0:
aliens.remove(a)
# Return bolts, aliens dictionaries
return bolts, aliens
ValueError
发生在 aliens.remove(a)
这一行。为了澄清,aliens
和 bolts
都是字典列表。
我做错了什么?