写一个类,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)))
运行结果:
质量分割线==========================================================
那么今天来做一下微波那契数列用对象的方式 那我们先定义一个 普拉斯 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等于
发表评论