ast none at gmail.com
Mon Feb 25 11:05:09 EST 2019

Le 24/02/2019 à 05:21, Himanshu Yadav a écrit :
> fibs={0:0,1:1}
> def rfib(n):
>        global fibs
>         if not fibs.get(n):
>                  fibs[n]=rfib(n-2)+rfib(n-1)
>          return fibs[n]
> Why it is gives error??

Nothing to do with the malfunction, but you dont need
to define fibs as global since you dont remap "fibs"
in side the function.

As explained by Peter, when n equals 0, not fibs.get(n)
will return True and recursivity goes on with n=-1, -2
until you reach the maximum allowed number of recursion

More information about the Python-list mailing list