函数中的while循环不会更新全局变量

时间:2019-10-02 16:48:55

标签: python

我开始学习python函数 也许这是一个菜鸟问题,但是为什么循环一旦开始就不会停止?

import time
x=False

def test(z):
    global x
    if z==True:
        x=True

    if z==False:
        x=False


def loop():
    global x
    while x==True:
        print ("1")

test(z=True)
time.sleep(2)
loop()

test(z=False)
time.sleep(2)
loop()

1 个答案:

答案 0 :(得分:1)

您编写了一个无限循环,这是最简单的循环之一:

while x==True:
    print ("1")

由于循环主体中的任何内容都不会改变循环条件,并且您没有break语句或其他循环出口,因此没有办法退出循环。