Fibonacci数列,数列中第一个数为0,第二个数为1,其后的每一个数都可由前两个数相加得到:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

class FibIterator(object):"""斐波那契数列迭代器"""def __init__(self, n):""":param n: int, 指明生成数列的前n个数"""self.n = n# current用来保存当前生成到数列中的第几个数了self.current = 0# num1用来保存前前一个数,初始值为数列中的第一个数0self.num1 = 0# num2用来保存前一个数,初始值为数列中的第二个数1self.num2 = 1def __next__(self):"""被next()函数调用来获取下一个数"""if self.current < self.n:num = self.num1self.num1, self.num2 = self.num2, self.num1+self.num2self.current += 1return numelse:raise StopIterationdef __iter__(self):"""迭代器的__iter__返回自身即可"""return selfif __name__ == '__main__':fib = FibIterator(10)for num in fib:print(num, end=" ")

  

-------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

Fibonacci数列使用迭代器实现相关推荐

  1. 刷题日记【第四篇】-笔试必刷题【Fibonacci数列+合法括号序列判断+两种排序方法+求最小公倍数】

    目录 选择题模块 1. 以下对继承的描述错误的是(A) 2. 在Java中,一个类(B) 3. 以下不是Object 类的方法的是(D) 4. Test.main() 函数执行后的输出是(D) 编程题 ...

  2. 求Fibonacci数列的前20项

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p112 习题4 2.编程求Fibonacci数列的前20项. Fibonacci数列的定义:F0=0, ...

  3. 【c语言】蓝桥杯入门训练 Fibonacci数列

    [问题描述] Fibonacci数列的递推公式为:Fn=F(n-1)+F(n-2),其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. [输入格式] 输 ...

  4. 1732 Fibonacci数列 2

    1732 Fibonacci数列 2  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解 题目描述 Description 在"1250 Fi ...

  5. fibonacci 数列及其应用

    fibonacci 数列及其延展 fibonacci计算 fibonacci数列是指 0,1,1,2,3,5,8,13,21--这样自然数序列,即从第3项开始满足f(n)=f(n-1)+f(n-2): ...

  6. 算法设计与分析 Fibonacci数列问题的词典法(动态规划:词典)

    Fibonacci数列问题的词典法 Fibonacci数列问题的词典法 #include<stdio.h> #pragma warning (disabled:4996) #define ...

  7. 蓝桥杯基础训练——Fibonacci数列

    问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...

  8. 入门训练 Fibonacci数列-python实现

    入门训练 Fibonacci数列 时间限制:1.0s 内存限制:256.0MB 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大 ...

  9. hdu 4639 2013多校第四场 hehe Fibonacci 数列,组合计数,字符串处理

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4639 题目思路: 首先我们取出所有he这样的东西,考察连续的k个"he"串,通过找 ...

最新文章

  1. php减少损耗的方法之一 缓存对象
  2. 为私有Kubernetes集群创建LoadBalancer服务
  3. ****CI框架源码阅读笔记7 配置管理组件 Config.php
  4. python中scrapy框架_简述python Scrapy框架
  5. asp.net实现下载
  6. 启动定时器t0的工作指令是_看门狗的工作原理、应用和设计思路
  7. 仿真环境Mininet的搭建
  8. window服务器开站点(不通用)
  9. jq父级绑定事件的意义_js、jq事件绑定方式总结——以click事件为例
  10. 给你多少钱,你才会愿意为国家生孩子?
  11. Android的ListFragment和Fragment的使用
  12. js 中实现 汉字按拼音排序
  13. 【Unity3D插件】Unity开发利器——插件(各类插件及教程推荐)| 寻找C站宝藏
  14. Google的快照的用户体验感觉不如之前
  15. 手机刷入其它系统跳过谷歌开机引导,谷歌安全验证
  16. 市场、运营、销售什么区别?
  17. 学习并掌握结构化写作方法,提高写作能力 ——结构化写作学习笔记(3)
  18. 小米VR一体机、Oculus Go投屏到PC、TV教程
  19. React学习(6)-React中组件的数据-state
  20. Android Studio中的手机通讯录开发

热门文章

  1. const、volatile、mutable关键字
  2. ubuntu下 apt-get install 下载文件存放的位置
  3. Fiddler的下载安装与使用(流量抓包、手机抓包、拦截包、编辑包、重发包)
  4. vue-cli3.0相关的坑
  5. 前端开发之模块化初探
  6. 数据库(三),底层算法
  7. DOMJavaScript示例练习
  8. lua_tinker源码笔记1
  9. 滑动cell的时候执行动画效果
  10. 在内存中动态生成缩略图