[英]why the while loop does not end?
我有以下情況,
def gen(n):
while n:
if n > 10:
n = 0
n+=1
yield n
根據我的直覺,當n
設置為零時,循環應該停止。 然而,循環中的操作會在一個循環中重復。 這樣n to 10; n set to 0; 0 to 10
n to 10; n set to 0; 0 to 10
n to 10; n set to 0; 0 to 10
。
我真的不明白這個。
解決方案1:
def gen(n):
while n:
if n > 10:
n = 0
break
n+=1
yield n
解決方案2:
def gen(n):
while n:
n+=1
if n > 10:
n = 0
yield n
當 n 變為 0 時,您根本不會退出,因此它再次變為 1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.