fibonacci series what Iam is missing ?
Dave Angel
davea at davea.name
Mon Mar 23 12:16:29 EDT 2015
On 03/23/2015 12:01 PM, Ganesh Pal wrote:
> Hello team ,
>
>
> [root at localhost Python]# cat fibonacci-Sequence-3.py
>
> ## Example 2: Using recursion
> def fib(n):
> if n == 0:
> return 0
> elif n == 1:
> return 1
> else:
> return fib(n-1) + fib(n-2)
> print fib(5)
>
> # python fibonacci-Sequence-3.py
> 5
>
> what Iam I missing in the program , I was expecting 0,1,1,2,3 ?
>
You're missing the loop at top-level. The function as written
calculates a single value, by using recursion. While it's true that the
function also calculates the lower-numbered values, it doesn't print them.
Printing is (rightly) only done at the top-level, and that's where you'd
need a loop.
An entirely separate question is whether you can gain performance by
caching intermediate values. For example, if you capture values in a
list, you could potentially save a lot of time, at least for non-trivial
values of n.
--
DaveA
More information about the Python-list
mailing list