Python斐波拉契生成器与迭代器

转载 2013年12月05日 09:51:44
迭代器:
class Fib:                                        ①
    def __init__(self, max):                      ②
        self.max = max

    def __iter__(self):                           ③
        self.a = 0
        self.b = 1
        return self

    def __next__(self):                           ④
        fib = self.a
        if fib > self.max:
            raise StopIteration                   ⑤
        self.a, self.b = self.b, self.a + self.b
        return fib                                ⑥
生成器:
def fib(max):
    a, b = 0, 1          ①
    while a < max:
       yield a          ②
        a, b = b, a + b  ③

用Python实现fib数列的几个方法(yield的应用)

您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ? 我们先抛开 generator,以一个常见的编程题目来展示 yiel...

使用python迭代器生成斐波那契数列

斐波纳契数列以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*) 这个数列从第2项开始,每一项都等于前两项之和,而且当n趋向于无穷大时,前一项与后一项...

Python笔记-列表生成式、生成器generator(包括斐波拉契数列)、迭代器Iterator

列表生成式、生成器generator(包括斐波拉契数列)、迭代器Iterator

poj 3070 斐波拉切快速幂公式

Fibonacci Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14923   Acc...

斐波拉切堆栈c++

  • 2015年05月28日 00:18
  • 1KB
  • 下载

斐波拉切数列

  • 2014年09月17日 21:23
  • 686B
  • 下载

矩阵快速幂 求斐波拉切数列的第n项 poj3070

Fibonacci Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7241 ...

HDU 1865 (斐波拉切大数)

1sting Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python斐波拉契生成器与迭代器
举报原因:
原因补充:

(最多只允许输入30个字)