【发布时间】:2019-04-10 09:39:59
【问题描述】:
根据我之前的问题here,我今天的问题与它有关。我有一个不断更新的全局变量,我将该变量传递给一个函数。该函数由循环和条件语句组成。我希望在满足条件时结束循环,但它会继续循环。
这是我的代码。
class LetterAScreen:
def identity(self):
global where
lol=Identifier()
lol.fn_compare()
print where
def verifier(self):
global where
verify=where
if verify != 1:
while (count>0):
print ("try again")
run=LetterAScreen()
run.identity()
run.verifier
print ("try again")
count += 1
else:
print ("correct")
“正确”是指变量变为 1 时。否则,不正确,用户应重试。输出最终看起来像这样。
#incorrect inputs
19
try again
try again
19
try again
try again
19
try again
try again
19
try again
try again
19
try again
try again
#correct inputs but loop doesn't end
1
try again
try again
1
try again
try again
1
try again
try again
1
try again
try again
关于 Identifier 类的基本部分只是更新变量。我相信问题出在我分享的课程上。我真的不熟悉这是如何工作的。我希望你能帮助我。
【问题讨论】:
-
我不确定你的代码细节,但你可以使用
break关键字来跳出循环。例如,您可以使用if ...: break,将...替换为允许退出循环的条件。 -
如果你继续添加到
count,它永远不会爆发。 -
只有当
if condition为真时,我如何才能跳出循环?我尝试在最后添加中断,但即使输入不正确,它也会结束循环。
标签: python python-2.7 function loops