ループ内でアクションを何度も実行していますが、どこまで進んでいるのか知りたいです。次のように動作する進捗レポート機能を作成しようとしています。
def make_progress_report(n):
i = 0
def progress_report():
i = i + 1
if i % n == 0:
print i
return progress_report
pr = make_progress_report(2)
pr()
pr() # 2
pr()
pr() # 4
このコードは機能しません。具体的には、UnboundLocalError
forを取得しi
ます。動作するように変更するにはどうすればよいですか?