我有一个非常简单的问题:我做了一个while循环,并在其中间,将初始条件设置为false。然而,这并没有停止循环并完全通过(有些显而易见),直到它试图再次失败。这是我所拥有的简化结构。
while(a):
print("hi")
a = False
print("bye")
返回:
hi
bye
我想再次回复hi
;我希望循环不断检查它是否满意。
非常感谢任何帮助。
答案 0 :(得分:2)
使用:
return
或break
while a:
print('hi')
a = False
if not a:
break
print('bye')
在函数或循环中,当某些内容被return
时,函数或循环终止。您还可以return True
或break
这是一种“突破”循环的特定方式。
答案 1 :(得分:0)
while(a):
print("hi")
a = False
if a:
print("bye")
OR
while(a):
for s in ["hi", "bye"]:
if a:
print(s)
if someCondition:
a = False
答案 2 :(得分:0)
由于条件是true
开始(按设计),循环体将至少执行一次。您在循环体中执行某些操作以使循环条件为false的事实不会停止当前迭代。它只是意味着在完成此迭代后不会有 next 迭代。
因此,如果你想在当前迭代的中间离开,那么你需要使用break
,return
或更复杂的东西,比如@ inspectorG4dget的建议。