I have this code:
def sum(x):
result = 0
def inner(x = None):
if x == None:
return result
else:
result = result + x
return inner
return inner(x)
sum(10)(20)(20)()
and got this error:
Traceback (most recent call last):
File "<stdin>", line 12, in <module>
sum(10)(20)(20)()
File "<stdin>", line 10, in sum
return inner(x)
File "<stdin>", line 8, in inner
result = result + x
UnboundLocalError: local variable 'result' referenced before assignment
I can use global
to use variable that is in global scope but how can I use the one that is in scope one level up?
if I remove the line result = result + x
it return 0 so it see the variable but it can't modify it.