def make_accumulator(init):
def accumulate(part):
init = init + part
return init
return accumulate
A = make_accumulator(1)
print A(2)
gives me:-
Traceback (most recent call last):
File "make-accumulator.py", line 8, in <module>
print A(2)
File "make-accumulator.py", line 3, in accumulate
init = init + part
UnboundLocalError: local variable 'init' referenced before assignment
Why is init not visible inside accumulate?