我在一个循环中多次执行一个动作,并想知道我有多远。我正在尝试制作一个进度报告功能,该功能应该如下所示:Python中的闭包 - 一个例子
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
为i
。我应该如何修改它以便它可以工作?
@delnan正确的,我会四处搜寻,但还有约收我没看过这么多问题商场。我是否应该修改您链接的问题中的代码并将其粘贴到此处? – jclancy 2013-03-17 20:53:18