<p>似乎您在理解编程的基础知识方面也有一些问题。我强烈建议你再读一遍你已经读过的课程。你知道吗</p>
<p>不过,这里有一些解释:</p>
<ul>
<li><p><code>playlist</code>实际上是一个函数。这个<code>while playlist !='6'</code>循环只是验证这个函数对象不是字符串。总是不同的,所以。如果要比较函数的结果,必须调用它:<code>playlist(PR)</code>,这将执行函数并返回可以存储在变量中的列表。</p></li>
<li><p>您的<code>playlist</code>函数正在返回一个<code>list</code>对象。为什么要把它和<code>'6'</code>作比较?
此外,<code>'6'</code>不是列表的长度。它是一根弦。<code>6</code>是列表的长度,因为它是一个整数。</p></li>
<li><p>既然您只希望六位总统显示一次,为什么要使用<code>while</code>循环?这没有道理。循环用于需要重复未知次数的操作。</p></li>
<li><p>因为<code>Pres2</code>是从<code>Pres</code>开始的,所以它的长度是6。它的长度从未如此之长,即使假设你的循环已经被正确地起草,里面的代码也不会被执行。</p></li>
<li><p>当使用<code>for</code>循环通过列表进行迭代时,在<code>for</code>之后写入的变量用作别名,它表示从列表中迭代的当前对象。<code>for PR3 in Pres2:</code>很奇怪,因为您已经定义了一个名为<code>PR3</code>的变量。如果您想在列表中显示总统,那么您可以像以前一样使用<code>for name in PR3</code>。</p></li>
</ul>
<p>让我向您展示该函数的增强版本,希望您能够更好地理解它的工作原理:</p>
<pre><code>def main():
# Print the 10 Presidents
for name in Pres:
print(name)
# Print the size of the list which already contains 6 Presidents
# Then, sort the list, reverse it and return it
# The new list is store into PR3
PR3 = playlist(Pres2)
# Print the 6 reverse sorted Presidents
for name in PR3:
print(name)
</code></pre>
<p>你拿到了吗?你完全不需要使用循环。你知道吗</p>