1 | initial version |
Your error is not due to recursion. The following example (slightly simplified with respect to yours) produces the same error :
def f(n) :
def retfunc(x) :
if n==0:
return 1
return x*f(3)
return retfunc
w=f(9)
w(3)
The error is at x*f(3). f(3) is a function, not a number. I don't really understand what you are trying to do. Some kind of factorial ?
The following code does not produce the error :
def f(n) :
def retfunc(x) :
if n==0:
return 1
return x*f(n-1)(3)
return retfunc
w=f(9)
print w(3)
Note : f(n-1)(3)
Hope it helps
Laurent