<p>这是我的代码:</p>
<pre><code>while True:
chosenUser = raw_input("Enter a username: ")
with open("userDetails.txt", "r") as userDetailsFile:
for line in userDetailsFile:
if chosenUser in line:
print "\n"
print chosenUser, "has taken previous tests. "
break
else:
print "That username is not registered."
</code></pre>
<p>即使在输入用户名并输出结果后,循环仍会继续并要求我再次输入用户名。在</p>
<p>我最近问过一个类似的<a href="https://stackoverflow.com/questions/48358686/while-loop-not-breaking-using-python">question</a>,但我自己也做到了。不管我怎么努力,这个都不行。在</p>
<p>有什么办法解决吗?在</p>
<p>注意:<code>userDetailsFile</code>是程序中先前的文本文件。在</p>
<p>这个问题可能很明显,但我对Python还不熟悉,所以如果我浪费了任何人的时间,我很抱歉。在</p>
<p>解决此问题的最简单方法是使用布尔变量并切换它,使外部<code>while</code>可更改:</p>
<pre><code>loop = True
while loop:
for x in y:
if exit_condition:
loop = False
break
</code></pre>
<p>这样你就可以从一个内部循环中停止外部循环。在</p>