Python:循环检查整个循环,如果为True

时间:2013-10-23 02:34:34

标签: python while-loop

我有一个非常简单的问题:我做了一个while循环,并在其中间,将初始条件设置为false。然而,这并没有停止循环并完全通过(有些显而易见),直到它试图再次失败。这是我所拥有的简化结构。

while(a):
    print("hi")
    a = False
    print("bye")

返回:

hi
bye

我想再次回复hi;我希望循环不断检查它是否满意。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

使用:

  
    

returnbreak

  
while a:
    print('hi')

    a = False
    if not a:
        break

    print('bye')

在函数或循环中,当某些内容被return时,函数或循环终止。您还可以return Truebreak这是一种“突破”循环的特定方式。

答案 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 迭代。

因此,如果你想在当前迭代的中间离开,那么你需要使用breakreturn或更复杂的东西,比如@ inspectorG4dget的建议。