zoukankan      html  css  js  c++  java
  • 迭代器斐波那契数列

     1 class Num:
     2     total1 = 0
     3 
     4     def __init__(self, num, num1):
     5         self.num = num
     6         self.num1 = num1
     7 
     8     def __iter__(self):
     9         return self
    10 
    11     def __next__(self):
    12         if self.num>100:
    13             raise StopIteration('终止了')
    14         self.num,self.num1 = self.num1,self.num+self.num1
    15         return self.num
    16 n1 = Num(1,2)
    17 # for i in n1:
    18 #     print(i)
    19 print(n1.__next__())
    20 print(n1.__next__())
    21 print(n1.__next__())
    22 print(n1.__next__())
    23 print(n1.__next__())
    24 print(n1.__next__())
    25 print(n1.__next__())
    26 print(n1.__next__())
    27 print(n1.__next__())
    28 print(n1.__next__())
    29 print(n1.__next__())
    30 输出:
    31 2
    32 3
    33 5
    34 8
    35 13
    36 21
    37 34
    38 55
    39 89
    40 144
    41 Traceback (most recent call last):
    42   File "C:/Users/Administrator/Desktop/python/3月9日/斐波那契数列.py", line 29, in <module>
    43     print(n1.__next__())
    44   File "C:/Users/Administrator/Desktop/python/3月9日/斐波那契数列.py", line 13, in __next__
    45     raise StopIteration('终止了')
    46 StopIteration: 终止了

    斐波那契数列   可以用交换元素直接进行处理   a,b = b,a+b

  • 相关阅读:
    面试题 16.07. 最大数值
    461. 汉明距离
    1290. 二进制链表转整数
    1486. 数组异或操作
    1480. 一维数组的动态和
    面试题 17.04. 消失的数字
    626. 换座位
    125. 验证回文串
    530. 二叉搜索树的最小绝对差
    ASP.NET页面之间传递值的几种方式
  • 原文地址:https://www.cnblogs.com/ch2020/p/12449380.html
Copyright © 2011-2022 走看看