簡體   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