今日は数学のテストがありましたが、追加のクレジット問題の 1 つは次のとおりでした。
product = 1
for i in range(1,7,2):
print i
product = product * i
print i
print product
簡単なループのステップをリストすることになっていた。しかし、なぜこのプログラムが実行されるのかと考えさせられました。2番目print iは場違いに思えます。ifor ループに対してのみ存在し、get が破棄されるため、2 番目を呼び出すとprint i変数がなく、エラーが発生すると思いiます。
iグローバル変数のままなのはなぜですか?