Python写一个类,Fibonacci 实现迭代器协议,此类的对象可以作为可迭代对象生成相应的斐波那契数

   写一个类,Fibonacci 实现迭代器协议,此类的对象可以作为可迭代对象生成相应的斐波那契数

     1 1 2 3 5 8 ....


    class Fibonacci:

        def __init__(self, n):

           ...


    实现如下操作:

    for x in Fibonacci(10):

        print(x)

    L = [ x for x in Fibonacci(30)]

    print(sum(Fibonacci(25)))

      (需要实现迭代器协议)

代码如下:

class Fibonacci:

def __init__(self,n):

self.L = []

self.n = n

def __next__(self):

if len(self.L) >= self.n:

raise StopIteration

else:

if len(self.L) <2:

n = 1

self.L.append(n)

return n

n = self.L[len(self.L)-2]+self.L[len(self.L)-1]

self.L.append(n)

return n

def __iter__(self):

return self



for n in Fibonacci(10):

print(n)

L = [x for x in Fibonacci(30)]

print(L)

print(sum(Fibonacci(25)))

Python写一个类,Fibonacci 实现迭代器协议,此类的对象可以作为可迭代对象生成相应的斐波那契数源码

运行结果:

Python写一个类,Fibonacci 实现迭代器协议,此类的对象可以作为可迭代对象生成相应的斐波那契数运行结果

质量分割线==========================================================

那么今天来做一下微波那契数列用对象的方式 那我们先定义一个 普拉斯 iPhone SE 经济一个in itself 传闻 然后self.name服 等于 不对我们需要在这个init里面实现迭代器的协议 那么我们在dyf-5订一个 你的大气 在初始化的时候能让自身下浮点也要等于一个空列表 如果 然后 是要浮点l 大于大于等于校服 骗人 我们就抛出一个错误的是top10 doped 停止迭代 否则 你要 点a b p q点点a p p appendix 再加上 cfpl 解决 那么这个价我们是他的下标方括号 包括起来就是些要点也要看的这个 两只和 没有return 然后 我们 部队不垃圾 长了一个10 plant 保存 咨询一下看 wiznote 那么我们 他这个的话 他这个实例化的时候他不能返回值 这个饮料是不能返回值 我们需要想个办法 我的l等于

最后编辑于:2019/09/26作者: 牛逼PHP

发表评论