1 class Num: 2 total1 = 0 3 4 def __init__(self, num, num1): 5 self.num = num 6 self.num1 = num1 7 8 def __iter__(self): 9 return self 10 11 def __next__(self): 12 if self.num>100: 13 raise StopIteration('终止了') 14 self.num,self.num1 = self.num1,self.num+self.num1 15 return self.num 16 n1 = Num(1,2) 17 # for i in n1: 18 # print(i) 19 print(n1.__next__()) 20 print(n1.__next__()) 21 print(n1.__next__()) 22 print(n1.__next__()) 23 print(n1.__next__()) 24 print(n1.__next__()) 25 print(n1.__next__()) 26 print(n1.__next__()) 27 print(n1.__next__()) 28 print(n1.__next__()) 29 print(n1.__next__()) 30 输出: 31 2 32 3 33 5 34 8 35 13 36 21 37 34 38 55 39 89 40 144 41 Traceback (most recent call last): 42 File "C:/Users/Administrator/Desktop/python/3月9日/斐波那契数列.py", line 29, in <module> 43 print(n1.__next__()) 44 File "C:/Users/Administrator/Desktop/python/3月9日/斐波那契数列.py", line 13, in __next__ 45 raise StopIteration('终止了') 46 StopIteration: 终止了
斐波那契数列 可以用交换元素直接进行处理 a,b = b,a+b