What is going on with the "return fibonacci( number-1 ) + fibonacci( number-2 )"?
- by user1478598
I have problem understanding what the return fibonacci( number-1 ) + fibonacci( number-2 ) does in the following program:
import sys
def fibonacci( number ):
if( number <= 2 ):
return 1
else:
return fibonacci( number-1 ) + fibonacci( number-2 )
The problem is that I can't imagine how this line works:
return fibonacci( number-1 ) + fibonacci( number-2 )
Does the both of the "fibonacci( number-1 )" and "fibonacci( number-2 )" being processed at the same time? or the "fibonacci( number-1 )" is the first to be processed and then the second one?
I only see that processing both of them would eventually return '1' so the last result I expect to see it is a '1 + 1' = '2'
I would appreciate a lot, If someone can elaborately explain the process of its calculation.
I think this is a very newb question but I can't really get a picture of its process.