python 斐波那契数列
2017-10-30 20:25
141 查看
斐波那契数列实现
方法一:普通方法
def fib(n): a=0 b=1 for i in xrange(n): a,b = b,a+b return a
方法2:迭代器
# -*- coding: utf-8 -*- class Fibs: def __init__(self): self.a=0 self.b=1 def next(self): self.a,self.b=self.b,self.a+self.b return self.a def __iter__(self):#迭代器自身实现它的iter方法,使得可以直接在for循环中使用 return self #测试用例 fibs=Fibs() fib_list = [] for fib in fibs: fib_list.append(fib) if fib > 1000: break print fib_list ##输出结果: >>> [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597]
方法3:生成器
# -*- coding: utf-8 -*- def fibs(): a,b=0,1 while True:#无限生成 a,b=b,a+b yield a #测试用例 fib_list = [] num=1000#设置一个截止数字 for fib in fibs(): fib_list.append(fib) if fib>num:break print fib_list ##输出结果: >>> [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597]
相关文章推荐
- 初学python:输出斐波那契数列,项数由键盘输入
- python超简单实现斐波那契数列
- python用迭代器的方式实现斐波那契数列
- python脚本-斐波那契数列
- python对列表int的排序及斐波那契数列第四讲(4)
- Python实现斐波那契数列
- 斐波那契数列的实现(Python)
- Python 之斐波那契数列中用到的append
- Python:递归输出斐波那契数列
- 《苦练算法》-剑指Offer- 七、 斐波那契数列 -python编写
- python斐波那契数列的计算方法
- 斐波那契数列 python解决
- python3 迭代器实现斐波那契数列
- 要求输入一个整数n,请你输出斐波那契数列的第n项 python实现
- 用Python简单实现斐波那契数列
- Python yield 斐波那契数列
- (python)斐波那契数列
- Python (1) 性能试验:斐波那契数列
- python 案例006 (斐波那契数列)
- python实现的斐波那契数列