Python初学者。对不起,如果这是一个基本的python概念
over = False
def run():
user_input = input("Over? (y/n): ")
if(user_input == 'y'):
over = True
while not over:
run()
虽然输入为“y”,但循环不会停止。
答案 0 :(得分:1)
您需要编写global over
,因此函数run()
将更改全局变量
over = False
def run():
global over
user_input = input("Over? (y/n): ")
if(user_input == 'y'):
over = True
while not over:
run()
答案 1 :(得分:1)
你不应该在这里使用全局变量。返回一个布尔值,并调用run
作为循环的条件。 (此时,您可能还想重新考虑名称run
。)
def run():
user_input = input("Over? (y/n)")
return user_input == 'y'
while run():
...
答案 2 :(得分:0)
您正在函数mouseover
中设置 local 变量over
,但您没有将其传递到调用它的范围。而是将值返回到调用范围,如下所示:
run()