class Collatz(object):
def __init__(self,n):
self.value=n
def __iter__(self):
return self
def __next__(self):
if self.value == 1:
raise StopIteration
elif self.value % 2 ==0:
self.value =self.value/2
else:
self.value=3*self.value +1
return self.value
for i in Collatz(7):
print(i)
注意:next的方法要前后都加上__