def foo(a):
a.append(1)
if len(a) > 10:
print a
return a
else:
foo(a)
Why this recursive function returns None (see transcript below)? I can't quite understand what I am doing wrong.
In [263]: x = [] In [264]: y = foo(x) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] In [265]: print y None
You don't return anything in the else
clause:
else:
return foo(a)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With