繁体   English   中英

为什么while循环中的变量不将boolean从True改为False?

[英]Why does not the variable in the while loop, change the boolean from True to False?

为什么不在while循环中检查变量,将boolean从True改为False?

def word_valid():
    words = input("Your word: ").upper()

    global check
    check = False
    return words

def main():
    check = True
    while check is True:
        words = word_valid()
    print(words) #Won't print out

if __name__ == '__main__':
    main()

global指的是全局 scope,但main中的checkmain的 scope 的本地。 也就是说,您在word_valid中更改的checkmain中的check不同

无需过多考虑如何很好地做到这一点,您可以返回check

def word_valid():
    words = input("Your word: ").upper()

    check = False
    return words, check

def main():
    check = True
    while check is True:
        words, check = word_valid()
    print(words) #Won't print out

if __name__ == '__main__':
    main()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM