【发布时间】:2013-03-17 20:13:27
【问题描述】:
我在一个循环中多次执行一个动作,想知道我走了多远。我正在尝试制作一个进度报告功能,应该像这样:
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
此代码不起作用。具体来说,我为i 得到一个UnboundLocalError。我应该如何修改它才能正常工作?
【问题讨论】:
-
@delnan 正确,我四处搜索,但是关于关闭的问题太多了,我没有全部阅读。我应该根据您链接的问题调整代码并将其粘贴到此处吗?