I got this error
increment = lambda x : x + 1
def make_repeater(h, n):
def f(x):
value = x
while n > 0 :
value = h(value)
n = n - 1
return value
return f
a = make_repeater(increment,5)
b = a(1)
UnboundLocalError: local variable 'n' referenced before assignment
while when I write like this , it runs well
increment = lambda x : x + 1
def make_repeater(h, n):
def f(x):
i = n
value = x
while i > 0 :
value = h(value)
i = i - 1
return value
return f
a = make_repeater(increment, 5)
b = a(1)