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.
