[英]Why Can't I break out of the loop?
Python初学者在这里。 抱歉,这是基本的python概念
over = False
def run():
user_input = input("Over? (y/n): ")
if(user_input == 'y'):
over = True
while not over:
run()
尽管输入为“ y”,循环不会停止。
您需要编写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()
您不应该在这里使用全局变量。 返回一个布尔值,并调用run
作为循环的条件。 (此时,您可能还需要重新考虑run
名称。)
def run():
user_input = input("Over? (y/n)")
return user_input == 'y'
while run():
...
要设置局部变量over
函数内部run()
但你不能传递出来,从它被调用的范围。 而是将值返回到调用范围,如下所示:
over = False
def run():
user_input = input("Over? (y/n): ")
if(user_input == 'y'):
over = True
else:
over = False
return over
while not over:
over = run()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.