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

2018-06-16  本文已影响0人  小草_fdba

斐波那契数列 --普通版

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)))

或者可以借助字典

上一篇下一篇

猜你喜欢

热点阅读