我是Python新手,正在通过projecteuler的练习学习Python的工作原理。问题2集中在斐波那契序列上,我为它创建了一个递归函数:
def CalcFb(start,end):
if (end<=4000000):
CalcFb(end,start+end)
else:
print "Returning:",end
return end
print "Answer: {0}".format(CalcFb(start,start+1))
当我运行程序时,我得到以下输出:
Returning: 5702887
Answer: None
调用函数时使用:
start=1
我不明白为什么要印“无”应该印5702887。有人能帮我理解为什么会这样吗?你知道吗
谢谢 丹
if子句中缺少return语句:
否则,递归调用函数,但只有最后一个调用返回值,而倒数第二个不返回任何值。你知道吗
对我来说它的回报
2
检查缩进。你知道吗
递归时不返回任何值。。。你知道吗
相关问题 更多 >
编程相关推荐