美文网首页
Python实现斐波那契数列的几种方法

Python实现斐波那契数列的几种方法

作者: 暖遇 | 来源:发表于2018-09-11 16:46 被阅读0次

    接下来我们用下面几种方法实现斐波那契数列的数列,有的效率相对于低一点,有的效率相对于高一点,接下来,赶紧看一下代码吧。

    方法一:最常用的方法

    迭代器

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

    方法二:用生成器的方法
    def gen_fib(index):
    n,a,b=0,0,1

    while n<index:
        yield b
        a,b=b,a+b
        n+=1
    

    gen_fib(5)

    方法三:自定义迭代器实现
    class Fib(object):
    def init(self,max):
    self.x=0
    self.y=1
    self.max=max

    def __iter__(self):
        return self
    
    def __next__(self):
        n_next=self.y
        self.x,self,y=self.y,self.x+self.y
        if self.max>self.x:
             return n_next
        else:
             raise StopIteration()
    

    相关文章

      网友评论

          本文标题:Python实现斐波那契数列的几种方法

          本文链接:https://www.haomeiwen.com/subject/cgbugftx.html