当我期望获得Int但外部函数返回None时

时间:2015-10-26 18:07:04

标签: python

这是我的代码:

def fibonacci(t0, t1, b, n):
    t2 = t1**2 + t0
    t0 = t1
    t1 = t2
    b += 1
    if (n > b):
        fibonacci(t0, t1, b, n)
    else:
        return t2

...(定义t0,t1,b,n) fb =斐波那契(t0,t1,b,n)

但是fb =无。为什么不返回t2?

1 个答案:

答案 0 :(得分:1)

if (n > b):
    fibonacci(t0, t1, b, n)
else:
    return t2

两个分支都需要return语句。递归调用函数不会自动将返回值传递给调用堆栈的顶部。

if (n > b):
    return fibonacci(t0, t1, b, n)
else:
    return t2