A
actuary77
I am trying to write simple recursive function to build a list:
def rec(n,alist=[]):
_nl=alist[:]
print n,_nl
if n == 0:
print n,_nl
return _nl
else:
_nl=_nl+[n]
rec(n-1,_nl)
_nl=[]
_nl=rec(4)
print _nl
### shouldn't this work?
_nl=rec(4)
The output is:
4 []
3 [4]
2 [4, 3]
1 [4, 3, 2]
0 [4, 3, 2, 1]
0 [4, 3, 2, 1]
None
None
Question:
============
Why isn't the function returning a list?
Why is function returning None?
Any guidance from one of you pro's would be greatly appreciated.
Thanks,
DKoch
(e-mail address removed)
def rec(n,alist=[]):
_nl=alist[:]
print n,_nl
if n == 0:
print n,_nl
return _nl
else:
_nl=_nl+[n]
rec(n-1,_nl)
_nl=[]
_nl=rec(4)
print _nl
### shouldn't this work?
_nl=rec(4)
The output is:
4 []
3 [4]
2 [4, 3]
1 [4, 3, 2]
0 [4, 3, 2, 1]
0 [4, 3, 2, 1]
None
None
Question:
============
Why isn't the function returning a list?
Why is function returning None?
Any guidance from one of you pro's would be greatly appreciated.
Thanks,
DKoch
(e-mail address removed)