每次我运行这个程序时,我都会收到这个错误:
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
都是字典列表。
我究竟做错了什么?