每次运行此程序时,都会收到此错误:
ValueError: list.remove(x): x not in list
Run Code Online (Sandbox Code Playgroud)
我试图降低一个外星人的生命值,只要它被一个螺栓击中.如果这个外星人的健康状况也应该被摧毁<= 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
Run Code Online (Sandbox Code Playgroud)
在ValueError上线情况aliens.remove(a).只是为了澄清,字典aliens和bolts列表都是.
我究竟做错了什么?