コードの両方のブロックが同様の結果を出力するべきではありませんか? 内側の for ステートメントに到達するたびに内側のループ内の range 関数が再評価されるのに、外側のループ内の range 関数は 1 回しか評価されないのはなぜですか?
x = 4
for j in range(x)
for i in range(x)
print i
x = 2
結果
0
1
2
3
0
1
0
1
0
1
出力された最初の 4 つの整数 (0 - 3) は、範囲 (x) 内の j のコードの結果であることはわかっています: コードですが、なぜ以下も出力されるのですか?
0
1
0
1
0
1
コード
x = 4
for j in range(x):
print i
x = 5
プリント
0
1
2
3
IDLE での追加情報 Python 2.7