【发布时间】:2012-06-26 05:15:48
【问题描述】:
我无法理解return fibonacci( number-1 ) + fibonacci( number-2 ) 在以下程序中的作用:
import sys
def fibonacci( number ):
if( number <= 2 ):
return 1
else:
return fibonacci( number-1 ) + fibonacci( number-2 )
问题是我无法想象这条线是如何工作的:
return fibonacci( number-1 ) + fibonacci( number-2 )
“fibonacci(number-1)”和“fibonacci(number-2)”是否同时处理?还是“fibonacci(number-1)”是第一个被处理的,然后是第二个?
我只看到处理它们最终会返回“1”,所以我希望看到的最后一个结果是“1 + 1”=“2”
如果有人能详细解释其计算过程,我将不胜感激。
我认为这是一个非常新的问题,但我无法真正了解其过程。
【问题讨论】:
-
简答:Python首先评估第一个,完成后,它会评估第二个调用。
-
应该是
if number < 2:
标签: python recursion fibonacci