迭代器:斐波那契数列

class FibIterator(object):"""斐波那契数列迭代器"""def __init__(self, n):self.n = n  # 迭代次数self.current = 0  # 标记迭代器位置# 初始值self.num1 = 0self.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 selfdef main():fib = FibIterator(20)sum1 = 0for num in fib:print(num, end=", ")sum1 += numprint()print("斐波那契数列的前20项之和为:%s" % sum1)if __name__ == '__main__':main()

  

转载于:https://www.cnblogs.com/andy9468/p/8988458.html

迭代器:斐波那契数列相关推荐

  1. 迭代求斐波那契数列python_python中的迭代器(以斐波那契数列为主讲解)

    简要引入: 迭代一词,我们再熟悉不过了,它经常出现在算法中,在数学中也有很多的使用,比如一个算法经过多少次的迭代,执行的效率有了很大的提高-- 迭代的意思类似于循环,每一次重复的过程被称为一次迭代的过 ...

  2. 迭代器协议、斐波那契数列

    f1.__iter__=iter(f1) 把一个对象变成可迭代对象 __init__ 构造函数 for循环遵循迭代器协议,要求对象有next.iter方法,有iter方法,for循环跟着对象对触发对象 ...

  3. js迭代器实现斐波那契数列

    // 直接上代码 function lterator () {let arr = [0, 1]let index = 0return {next () {if (arr[index] === unde ...

  4. Python:递归输出斐波那契数列

    今天学习Python的时候做一道练习题,题目是这样的: 题目 导入 问题 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总对数 ...

  5. python兔子繁殖问题中如何输出相应月份的数列_斐波那契数列介绍及Python中五种方法斐波那契数列...

    Q:斐波那契数列为何那么重要,全部关于数学的书几乎都会提到? A:由于斐波那契数列在数学和生活以及天然界中都很是有用.html 1. 斐波那契数列 概念引入 斐波那契数列(Fibonacci sequ ...

  6. 兔子问题与斐波那契数列

    #题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, #假如兔子都不死,问每个月的兔子总数为多少? #通过数学分析我们知道,兔子的规律为数列1, ...

  7. python3实现斐波那契数列--4种方法

    基础版(list方法) # 比较占内存 w = int(input("输入一个数字还你一个斐波那契数列:")) list_res = [] def list_n(n):if n&g ...

  8. python斐波那契数列前20项_Python初学者笔记:打印出斐波那契数列的前10项

    问题:斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列.费波那西数列.费波拿契数.费氏数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.- ...

  9. Python编程笔记(第三篇)【补充】三元运算、文件处理、检测文件编码、递归、斐波那契数列、名称空间、作用域、生成器...

    一.三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件处理: if 条件成立:val = 1else:val = 2 改成三元运算 val = 1 if 条件成立 else 2 ...

最新文章

  1. 侯捷译Practical Java(含源码)
  2. 刚刚,YOLOv4重磅更新!快来一睹论文真容吧!
  3. 矩阵化为行最简形矩阵计算器_[内附完整源码和文档] 基于C++的小型特殊计算器...
  4. boost::hana::detail::unpack_flatten用法的测试程序
  5. python有道字典_Python基于有道实现英汉字典功能
  6. 使用Angular与TypeScript构建Electron应用(五)
  7. L2-006. 树的遍历-PAT团体程序设计天梯赛GPLT
  8. 列出Server上5张最大的表
  9. ATAT-mcsqs- 运行后出现报错:段错误(吐核/core dumped)
  10. 网站建设备案和不备案的一些疑惑问题大全
  11. 50篇各种磨皮大法PS教程集合,想学磨皮方法的可以看看
  12. html设置超出两行显示省略号,css 文本两行显示,超出省略号表示
  13. 点到点法式平面投影点的计算
  14. linux卸载exe文件怎么恢复,linux中误删除程序包恢复实例
  15. 【洛谷】P1138 第k小整数
  16. keil startup_stm32f10x_hd.s编译报错
  17. 成都榆熙:拼多多商家都想要提高客单价,但是怎么去提高呢?
  18. 基站三角定位法 java_什么是三角定位法?
  19. FOC控制笔记 -基本术语概念
  20. 非线性微分方程有限差分解法

热门文章

  1. 字节跳动面试经验 php,双指针算法:字节跳动初级面试题 PHP
  2. 怎么用Python写出随时间变化的字_面试必备 | 带你彻底搞懂 Python 生成器
  3. Windows系统中搭建Python编译环境
  4. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况(split、zip...)
  5. R语言︱用excel VBA把xlsx批量转化为csv格式
  6. scrapy tool 命令
  7. 最短路径Dijkstra算法(邻接矩阵)
  8. Python3 configparser值为多行时配置文件书写格式
  9. OpenStack云第三天
  10. Hibernate框架基本使用