ネストされた for ループでこの奇妙な動作に遭遇しましたが、これを説明することはできません。これはpython固有のものですか、それとも私は何かを監督しているだけですか?
これは私が実行しているコードです:
for i in range(16):
if i == 0:
for j in range(8):
print 'i is (if) ' + str(i)
i = i + 1
else:
print 'i is (else)' + str(i)
これは私が得ている出力です:
i is (if) 0
i is (if) 1
i is (if) 2
i is (if) 3
i is (if) 4
i is (if) 5
i is (if) 6
i is (if) 7
i is (else)1
i is (else)2
i is (else)3
i is (else)4
i is (else)5
i is (else)6
i is (else)7
i is (else)8
i is (else)9
i is (else)10
i is (else)11
i is (else)12
i is (else)13
i is (else)14
i is (else)15
これは私が期待している出力です:
i is (if) 0
i is (if) 1
i is (if) 2
i is (if) 3
i is (if) 4
i is (if) 5
i is (if) 6
i is (if) 7
i is (else)8
i is (else)9
i is (else)10
i is (else)11
i is (else)12
i is (else)13
i is (else)14
i is (else)15
外側の for ループの i と内側の for ループの i は異なる変数のようですが、それは私には完全に直感に反するようです。
任意の入力 (私は Python にかなり慣れていませんが、これに関するドキュメントを見つけることができませんでした)