[英]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.