python3中 for迴圈容易出現的問題

2021-09-17 04:24:39 字數 548 閱讀 2687

j = 0

for i in range(5):

i += 1

j += i

print( j)

按照 c 的 想法來來編寫**的話,就會寫出以下**:

for(int i = 0; i < 5; i++)

print(j)

按照我的想法,這兩個輸出一定會一致,實際上這兩個輸出完全不同。

python:

15
c:

9
其實查過python的文件就知道,在python for i in x 迴圈中 改變i的值不會影響到下一次迴圈因為range函式產生了乙個迭代器(python2 為乙個列表)。

產生這個bug的原因 純粹是我太菜了,把 python的迴圈想成和c一樣了,從而產生了這個bug,謹以此來記錄這次錯誤,以防下次再犯,也希望能提醒和我出現同樣錯誤的語言小(da)白(佬)們(未來的大佬),並希望大家都能早點變成自己心中的大佬的模樣,共勉!!!

Python3 迴圈語句

python 中的迴圈語句有 for 和 while。python 迴圈語句的控制結構圖如下所示 python 中 while 語句的一般形式 while判斷條件 condition 執行語句 statements 我們可以通過設定條件表示式永遠不為 false 來實現無限迴圈 你可以使用ctrl ...

Python3迴圈結構(一)for迴圈

python3迴圈結構 在python中主要有兩種型別的迴圈結構 for迴圈和while迴圈。for迴圈一般用於有明顯邊界範圍的情況,例如,計算1 2 3 4 5 100等於幾的問題,就可以用for迴圈求解。while迴圈一般應用於迴圈次數難以確定的情況。下面分別介紹這兩種迴圈結構。for迴圈 通常...

python3 迴圈控制語句

break語句用於提前終止當前迴圈。放棄迴圈後,直接執行迴圈塊下乙個語句。break語句可以在while和for迴圈中使用。如果使用巢狀迴圈,則break語句將停止執行最內層迴圈,並在塊之後開始執行 的下一行。for letter in python if letter h break print ...