python斐波那契数列-普通-递归-生成器三种方法

斐波那契数列 --普通版

def Fibonacci(n):
    i, a, b = 2, 0, 1
    if n < 2:
        return n
    print(0)
    while i <= n:
        print(b)
        a, b = b, a+b
        i += 1
Fibonacci(4)

斐波那契数列递归,只能得到某一个数值

def fib(n):
    return fib(n-2) + fib(n-1) if n>2 else n-1
print(fib(4))

斐波那契数列之生成器

def Fibonacci(n):
    i, a, b = 2, 0, 1
    if n < 2:
        yield n
    print(0)
    while i <= n:
        yield b
        a, b = b, a+b
        i += 1
print(list(Fibonacci(4)))

或者可以借助字典

你可能感兴趣的:(python斐波那契数列-普通-递归-生成器三种方法)