擅长:python、mysql、java
<p>你的代码中有一个错误导致了这种情况。简化后的代码看起来像:</p>
<pre><code>for b in bolts:
for a in aliens:
for a in aliens:
bolts.remove(b)
</code></pre>
<p>这导致您对<code>b</code>中的每个条目循环<code>aliens</code>多次。如果b在第一个循环中被删除,那么当它第二次循环时,就会出现错误。</p>
<p>有几件事要解决。首先,改变<code>aliens</code>上的内部循环以使用<code>a</code>以外的内容,因此:</p>
<pre><code>for b in bolts:
for a in aliens:
for c in aliens:
if hit:
bolts.remove(b)
</code></pre>
<p>第二,只从<code>bolts</code>中删除<code>b</code>一次。所以:</p>
<pre><code>for b in bolts:
for a in aliens:
should_remove = False
for c in aliens:
if hit:
should_remove = True
if should_remove:
bolts.remove(b)
</code></pre>
<p>我认为这段代码也有其他问题,但这是导致您的主要问题的原因。马蒂金的职位也可能有帮助。</p>