On 03/23/2015 12:01 PM, Ganesh Pal wrote:
Hello team ,[root@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 -- https://mail.python.org/mailman/listinfo/python-list
