Dictionary

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
depth



More information about the Python-list mailing list