Python 2.7 löst ValueError: list.remove (x): x nicht in Liste aus
Jedes Mal, wenn ich dieses Programm ausführe, erhalte ich folgende Fehlermeldung:
ValueError: list.remove(x): x not in list
Ich versuche, die Gesundheit eines einzelnen Außerirdischen zu senken, wenn er von einem Blitz getroffen wird. Dieser einzelne Alien sollte auch zerstört werden, wenn seine Gesundheit ist<= 0
. Ebenso würde auch der Riegel zerstört. Hier ist mein Code:
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
DasValueError
passiert auf der Liniealiens.remove(a)
. Nur um zu verdeutlichen, sowohl diealiens
undbolts
sind Listen von Wörterbüchern.
Was mache ich falsch?