1
def recursiveadd(x,sum1):
if x > 0:
sum1 += x
recursiveadd(x-1,sum1)
else:
return sum1
print recursiveadd(100,0)
添加之後插入「print sum1」表明sum1正在增加,所以我不明白爲什麼函數返回None。我唯一能想到的就是sum1在返回之前被重置爲0,但我不知道爲什麼會這樣。爲什麼這個遞歸求和函數返回None?
跟蹤代碼,並Look的返回什麼,強調*返回*。 – FatalError 2012-02-01 16:46:50
請注意,tail-recursion可能會炸燬python中的堆棧。 – 2012-02-01 16:49:39
@MattFenwick:你可以[不要炸掉堆棧](http://ideone.com/IvIyC) – jfs 2012-02-01 17:39:54