SHOCK: WHY None?

2007-09-21 Thread n00m
def f(i,sm): if i+1==len(a): print sm+a[i] return sm+a[i] else: f(i+1,sm+a[i]) a=[1,2,3,4,5] print f(0,0) 15 None -- http://mail.python.org/mailman/listinfo/python-list

Re: SHOCK: WHY None?

2007-09-21 Thread Tim Golden
n00m wrote: def f(i,sm): if i+1==len(a): print sm+a[i] return sm+a[i] else: f(i+1,sm+a[i]) a=[1,2,3,4,5] print f(0,0) 15 None You're not actually returning anything from the recursive call. TJG --

Re: SHOCK: WHY None?

2007-09-21 Thread Dave Borne
else: f(i+1,sm+a[i]) Maybe because you are ignoring the return value of the when you recurse... try this else: return f(i+1, sm+a[i]) -Dave -- http://mail.python.org/mailman/listinfo/python-list

Re: SHOCK: WHY None?

2007-09-21 Thread Ben Finney
n00m [EMAIL PROTECTED] writes: def f(i,sm): if i+1==len(a): print sm+a[i] return sm+a[i] else: f(i+1,sm+a[i]) a=[1,2,3,4,5] print f(0,0) 15 None Here's one to meditate on: def foo(): ... print foo ... print foo() foo