繁体   English   中英

此斐波那契数的返回值(python)

[英]Return value of this Fibonacci Number (python)

在书中的例子中,我有这个 function 作为斐波那契数列。 我不明白为什么当我通过fib(3)调用 function 时它不返回任何斐波那契数

def fib(n):
    """Assumes n an int >= 0
    Returns Fibonacci of n"""
    if n == 0 or n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)
 fib(3)

但是使用以下代码,当我通过 testFib(3) 调用 testFib 时,它确实返回了字符串“fib of i = fib(i)”。 fib(i) 是印刷品中的价值。 谁能帮助我理解这两个 fib(3) 标注之间的区别(一个是我的直接fib(3)标注,另一个在 testFib 内部, print('fib of', i, '=',fib(i))

def testFib(n):
    for i in range(n+1):
        print ('fib of', i, '=', fib(i))

testFib(3)

最近刚刚学习了Scope Nest for python程序的精髓。 我觉得这可能是一个很好的例子,可以更好地理解这个概念。

def fib(n): """Assumes n an int >= 0 Returns Fibonacci of n""" if n == 0 or n == 1: return 1 else: return fib(n-1) + fib(n- 2) 纤维(3)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM