擅长:python、mysql、java
<p>定义<code>myList</code>时,其值为(如您所知):</p>
<pre><code>myList = [1, 2, 3]
</code></pre>
<p>当您迭代时,您正在循环遍历每个元素(1、2、3),但是当您调用<code>leastCommonDenominator</code>时,您使用的是列表的<em>索引</em>,而不是元素本身(即,在第一次遍历中,您没有调用<code>myList</code>的第一个元素,而是调用<code>myList[1]</code>,这是<em>第二个</em>元素。这导致在最后一个过程中出现<code>IndexError</code>,因为<code>myList[3]</code>引用的是列表中的第四个元素,我们可以看到它不存在(因为<code>range</code>的值中不包含上界)。为了修复,您应该能够执行以下操作:</p>
<pre><code>num = leastCommonDenominator(num, i)
</code></pre>
<p>当您像现在这样使用<code>for</code>循环时,您可以简单地使用值本身。如果您想引用元素的位置,可以使用<code>enumerate</code>,它返回一个值的索引/位置和值本身(这是供参考的-这里不需要它,我不相信:))。例如:</p>
<pre><code>for index, i in enumerate(myList):
num = leastCommonDenominator(num, myList[index])
</code></pre>
<p>你也会得到同样的结果。你知道吗</p>