迭代器中关于斐波拉契数列的报错
各位大神们,请问在Python3.6.6中用迭代器列出菲波拉契数列时,代码运行执行时为什么会出现如下报错呢?>>> class Fibs:
def __init__(self,n=10):
self.a=0
self.b=1
self.n=n
def __iter__(self):
return self
def _next__(self):
self.a,self.b=self.b,self.a+self.b
if self.a>self.n:
raise StopIteration
return self.a
>>> fibs=Fibs()
>>> for each in fibs:
print(each)
报错信息:
Traceback (most recent call last):
File "<pyshell#62>", line 1, in <module>
for each in fibs:
TypeError: iter() returned non-iterator of type 'Fibs'
谢谢各位的指导~ def __next__(self): 冬雪雪冬 发表于 2018-11-15 14:44
def __next__(self):
{:5_109:}果然还是太粗心了。。。。多谢,太大意了
页:
[1]