recursion gotcha?
Marco Bizzarri
marco.bizzarri at gmail.com
Sun Sep 14 04:44:36 EDT 2008
On Sun, Sep 14, 2008 at 10:08 AM, Marco Bizzarri
<marco.bizzarri at gmail.com> wrote:
> On Sun, Sep 14, 2008 at 10:01 AM, cnb <circularfunc at yahoo.se> wrote:
>> this recursive definition of sum thrumped me, is this some sort of
>> gotcha or am I just braindead today?
>> and yes i know this is easy a a for x in xs acc += x or just using the
>> builtin.
>>
>> def suma(xs, acc=0):
>> if len(xs) == 0:
>> acc
>> else:
>> suma(xs[1:], acc+xs[0])
>
> You're just missing the "return" statements?
>
> def suma(xs, acc=0):
> if len(xs) == 0:
> return acc
> else:
> return suma(xs[1:], acc+xs[0])
>
>
Besides: you can avoid the "acc" parameter:
def suma(xs):
if len(xs) == 0:
return 0
else:
return xs[0] + suma(xs[1:])
Regards
Marco
--
Marco Bizzarri
http://notenotturne.blogspot.com/
http://iliveinpisa.blogspot.com/
More information about the Python-list
mailing list