以下代碼來自我的作業。我有問題,我也有答案,但我不明白如何得到答案。
#Question
result = 0
for n in range(3):
print(n, end=' ')
result -= 3
else:
print('| {}'.format(result))
print('done')
#Answer
0 1 2 | -9
done
for 回圈使用的范圍是 0-2,所以我希望它會在回圈中運行 3 次并產生 '0 1 2' 部分,但為什么要添加 'else' 部分?如果回圈陳述句評估為“False”,它不應該只使用“else”部分嗎?但是如果回圈知道只運行 3 次并且前 3 個陳述句中沒有一個評估為 false,它怎么會是錯誤的?或者當它是一個回圈else時,else總是評估嗎?我假設我在這里缺少一些基本知識。TIA
uj5u.com熱心網友回復:
我們將 else 與 for 回圈一起使用來檢查 for 回圈是否已在沒有中斷的情況下結束,例如:
for i in range(5):
print(i)
if (i == 3):
break
else:
print("iterated over the whole range")
這只會列印從 0 到 3 的數字,然后停止而不列印訊息,因為我們已經跳出了回圈。
請注意,沒有多少編程語言支持將 else 放在回圈之后。
uj5u.com熱心網友回復:
當所有迭代完成執行而沒有中斷(即:沒有遇到 a )時,將執行for回圈的子句。elsebreak
如果在回圈break中遇到a,則不會執行。forelse
請參閱 Python 檔案:https ://docs.python.org/3/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/490978.html
上一篇:R:正確使用Break陳述句
