擅长:python、mysql、java
<p>我想是@csevier<a href="https://stackoverflow.com/a/50749048/4799172">added a reasonable discussion about your first question</a>,但根据你的评论,我不确定第二个问题的答案是否清晰,所以我将尝试另一个角度。在</p>
<p>假设你做了:</p>
<pre><code>for x in range(10):
print(x)
</code></pre>
<p>这是可以理解的-您创建了一个列表<code>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]</code>,然后依次打印该列表中的每个值。现在假设我们只想打印<code>"hello"</code>10次;我们可以非常简单地修改现有代码:</p>
^{pr2}$
<p>但是现在<code>x</code>把我们的输出搞乱了。没有:</p>
<pre><code>do this 10 times:
print('hello')
</code></pre>
<p>语法。我们可以使用<code>while</code>循环,但这意味着要定义一个额外的计数器:</p>
<pre><code>loop_count = 0
while loop_count < 10:
print('hello')
loop_count += 1
</code></pre>
<p>那是行李。因此,更好的方法是使用<code>for x in range(10):</code>,而不必费心去做<code>print(x)</code>;这个值是为了让我们的循环工作,而不是因为它实际上在任何其他方面都有用。这对于<code>j</code>也是一样的(虽然我在我的示例中使用了<code>x</code>,因为我认为在教程中您更可能遇到它,但是您可以使用任何您想要的名称)。另外,<code>while</code>循环通常用于可以无限期运行的循环,而不是用于迭代具有固定大小的对象:请参见<a href="https://stackoverflow.com/questions/920645/when-to-use-while-or-for-in-python">here</a>。在</p>