[英]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
中的check
是main
的 scope 的本地。 也就是说,您在word_valid
中更改的check
与main
中的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.