Python之斐波拉契数列(包含递归实现)

递归要求

  • 递归一定要有退出条件,递归调用一定要执行到这个退出条件,没有退出条件的递归调用,就是无限调用。
  • 递归调用深度不宜过深
a = 0
b = 1
while True:  
    c = a + b
    a = b
    b = c
    if c >= 100:
        break
    print(c)

第一组 c = 1 a = 1 b = 1
第二组 c = 2 a = 1 b = 2
第三组 c = 3 a = 2 b = 3
第四组 c = 5 a = 3 b = 5
第五组 c = 8 a = 5 b = 8
第六组 c = 13 a = 8 b = 13
第七组 c = 21 a = 13 b = 21
第八组 c = 34 a = 21 b = 34
第九组 c = 55 a = 34 b = 55
第十组 c = 89 a = 55 b = 89

def fib(n):
    return 1 if n < 2 else fib(n-1) + fib(n - 2)

for i in range(8):
    print(fib(i),end = " ")

#结果
1 1 2 3 5 8 13 21 

你可能感兴趣的:(Python之斐波拉契数列(包含递归实现))