我遇到了以下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()
由于
答案 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。