迭代器相关问题
我这代码为什么会无限循环呢?class MyRev:
def __init__(self,myrev):
self.myrev = myrev
self.a = ''
self.b = ''
def __iter__(self):
return self
def __next__(self):
for i in self.myrev:
self.a = i+self.b
self.b = self.a
return self.a
myRev = MyRev("FishC")
for i in myRev:
print(i, end='')
本帖最后由 suchocolate 于 2021-8-26 08:47 编辑
缺raise StopIterationclass MyRev:
def __init__(self, string):
self.string = string
self.n = len(string)
def __iter__(self):
return self
def __next__(self):
self.n -= 1
if self.n < 0:
raise StopIteration
return self.string
myRev = MyRev("FishC")
for i in myRev:
print(i, end='') suchocolate 发表于 2021-8-26 08:11
缺raise StopIteration
不是说当没有数据时抛出StopIteration错误?
怎么这是要自己在类里面定义的吗{:9_239:} 非凡 发表于 2021-8-26 10:16
不是说当没有数据时抛出StopIteration错误?
怎么这是要自己在类里面定义的吗
要自己定义的
页:
[1]