擅长:python、mysql、java
<p>你得到无限循环是因为你写了无限循环。您可能认为<code>break</code>语句将以某种方式“神奇地”知道您不想只结束for循环,也不想结束while循环。但是<code>break</code>总是只会中断一个循环——最里面的循环。这意味着你的代码实际上做到了:</p>
<pre><code>while (True): # <- infinite while loop
lo += 1
for i in range(len(l)): # <- for loop
if not l[i] < 3:
break # <- break the for loop
print(lo)
# while loop continues
</code></pre>
<p>如果你想结束这两个循环,你必须显式地完成它-例如,
可以使用布尔变量:</p>
<pre><code>keep_running = True
while (keep_running):
lo += 1
for i in range(len(l)):
if not l[i] < 3:
# this will effectively
# stop the while loop:
keep_running = False
break
print(lo)
</code></pre>