斐波那契数列与生成器

斐波那契数列相信大家都不会陌生,
公式
F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)
网上有n种解法

这里我们讲的是斐波那契数列和生成器,python笔试喜欢考的一题

from itertools import islice
def fib():
    a, b =  0,  1
    while True:
        yield a
        a, b = b, a+b

if __name__ == '__main__':
    print list(islice(fib(),  5))

看到了吧,关键的一个yield,考察的是生成器的知识,所以笔试时候发现要你实现一个斐波那契数列的时候一定要小心哦!!

你可能感兴趣的:(数据结构与算法)