我正在通過this。來自C環境,它以驚人的和難以置信的方式直面我。而且,當時我嘗試了我自己::「別」與「同時」和神祕的「休息」
bCondition = True
while bCondition:
print("Inside while\n")
bCondition = False
else:
print("Inside else\n")
print("done\n")
此代碼將呈現以下輸出,
#Output
Inside while
Inside else
done
現在,我的問題是,爲什麼呢?我們爲什麼需要這個?爲什麼兩個塊都被執行?是不是if
和else
是互相製造的,那麼什麼樣的用例會使這個設計成爲一個有用的設計來實現呢?
同樣,如果我們只是更改代碼以合併break
,則行爲更加神祕。 Ideone Link。
bCondition = True
while bCondition:
break
else:
print("Inside else\n")
print("done\n")
此代碼將呈現以下輸出,
#Output
done
爲什麼兩個區塊被跳過?是不是break
只是爲了突破循環,那麼爲什麼它會突破else
區塊?
我也經歷了documentation,雖然不能清除我的疑惑。
_在第一個套件中執行的break語句終止循環,而不執行else子句的套件._ - 這句話中的含義不清楚?我同意這很奇怪,但它是規範的一部分。你不會被迫使用這種形式。 –
看看這個http://stackoverflow.com/questions/3295938/else-clause-on-python-while-statement –
不要在'while'中使用'else'。 – dsgdfg