3

我有一个非常简单的问题:我做了一个while循环,在它的中间,将初始条件设置为false。但是,这不会停止循环并完全运行(有点明显),直到它再次尝试失败。这是我所拥有的简化结构。

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

这将返回:

hi
bye

同样,我只想返回hi;我希望循环不断检查它是否满意。

非常感谢任何帮助。

4

3 回答 3

2

利用:

return, 或者break

while a:
    print('hi')

    a = False
    if not a:
        break

    print('bye')

在函数或循环中,当某些内容被return编辑时,函数或循环终止。你也可以return True,或者break这是一种“打破”循环的特定方式。

于 2013-10-23T02:35:51.943 回答
1

由于条件是true开始(按设计),循环体将至少执行一次。您在循环主体中执行某些操作以使循环条件为假的事实不会停止当前迭代。这只是意味着在这个完成之后不会有一次迭代。

因此,如果您想在当前迭代的中间退出,那么您需要使用break,return或更复杂的东西,例如 @inspectorG4dget 的建议。

于 2013-10-23T02:50:42.513 回答
0
while(a):
    print("hi")
    a = False
    if a:
        print("bye")

或者

while(a):
    for s in ["hi", "bye"]:
    if a:
        print(s)
    if someCondition:
        a = False
于 2013-10-23T02:37:22.410 回答