擅长:python、mysql、java
<p>打印变量的内容以查看发生了什么,通常会有很大帮助:</p>
<pre><code>>>> turns
[4, 6, 2, 8, 1, 9, 5, 5, 3, 7, 6, 8, 2, 4, [1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4], [0, 0, 26, 24, 3, 7, 5, 4, 25, 25, 21, 21, 21, 21], [0, 0, 0, 0, 7, 3, 8, 2, 0, 0, 29, 29, 29, 29], [0, 0, 0, 0, 26, 24, 0, 0, 0, 0, 0, 0, 0, 0]]
</code></pre>
<p>如您所见,该列表的前几个元素是简单整数,但不是整数列表。因此,当<code>j</code>很小时,它将选择一个<code>int</code>并尝试对其应用<code>[i]</code>,但失败了。你知道吗</p>
<p>这种情况下的解决方案是将第一个元素放入一个额外的列表中:</p>
<pre><code>turns = [[4, 6, 2, 8, 1, 9, 5, 5, 3, 7, 6, 8, 2, 4]]
turns.append( … )
</code></pre>
<p>另一种方法是将列表初始化为空列表,并附加第一个子列表:</p>
<pre><code>turns = []
turns.append([4, 6, 2, 8, 1, 9, 5, 5, 3, 7, 6, 8, 2, 4])
turns.append( … )
</code></pre>