Re: [問題] for loop 的 index 存取問題

作者: jlhc (H)   2018-06-26 15:32:48
※ 引述《henry8168 (番薯猴)》之銘言:
: 剛發現一件我誤會很久的事情,假設我有段程式碼:
: for i in range(5):
: print(i)
: i += 1
: 我執行的預期結果是
: 0
: 2
: 4
: 結果卻是
: 0
: 1
: 2
: 3
: 4
: https://imgur.com/V0glZVM.png
: 這跟 C++ 的理解真的差很多,請問我該怎麼讓它出現預期的結果?
: 因為這本來是寫在判斷某個條件發生時,要 iterator 跳過下次的執行用的。
: 寫 next(i) 無法達到目的,因為 i 是 int type。
: 請教各位大神。
for i in range(5):
if condition:
continue
print(i)
判斷後使用 continue 應該可以解決你的問題.
作者: henry8168 (番薯猴)   2018-06-26 15:59:00
這樣可以,就是會多幾次不做事的迴圈。我大概知道怎麼寫了,感謝!
作者: jlhc (H)   2018-06-26 18:54:00
如果希望有效利用減少實行次數的話 建議用while實作
作者: wennie0433   2018-06-26 19:57:00
range 可以加step range(0,5,2)

Links booklink

Contact Us: admin [ a t ] ucptt.com