On Tue, 24 Mar 2015 03:01 am, 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 ?
Python does not automatically print all return statements. If you want it to print the intermediate values produced, you will need to add print before each return: py> def fib(n): ... if n == 0: ... result = 0 ... elif n == 1: ... result = 1 ... else: ... result = fib(n-1) + fib(n-2) ... print result, # trailing comma means no newline ... return result ... py> fib(3) 1 0 1 1 2 2 py> fib(5) 1 0 1 1 2 1 0 1 3 1 0 1 1 2 5 5 If you want to print a list of Fibonnaci values, you need to call the function in a loop. Removing the "print result" line again, you can do this: py> for i in range(6): ... print fib(i), ... 0 1 1 2 3 5 -- Steven -- https://mail.python.org/mailman/listinfo/python-list