如何在python循环中结束程序

时间:2014-11-08 22:58:44

标签: python-3.x

我遇到了以下python 3.x代码的问题,即使while(keepAlive):为false,keepAlive也会继续。当用户输入" 1"时,显示Killing Program...但循环继续。我熟悉其他语言,但刚开始使用python。似乎我一定犯了一个简单的错误......如果有人能指出它,我会很感激。

keepAlive = True

def main():
    if(input("Enter 1 to end program") == "1"):
        print("Killing program...")
        keepAlive = False

while(keepAlive):
    main()

由于

2 个答案:

答案 0 :(得分:1)

目前,模块keepAlive和main中的本地keepAlive是两个独立的名称。要将它们绑定在一起,请在main中声明keepAlive为全局。以下作品。

keepAlive = True

def main():
    global keepAlive
    if(input("Enter 1 to end program") == "1"):
        print("Killing program...")
        keepAlive = False

while(keepAlive):
    main()

在Python doc索引中查找'global',您应该找到解释。

答案 1 :(得分:0)

由于已提到变量范围,请尝试将if语句放在while循环中,并在while之前声明keepAlive。