1 #写一个迭代器,要求输出迄今为止所有的闰年 2 import datetime as dt 3 4 class LeapYear: 5 def __init__(self): 6 self.this_year = dt.date.today().year 7 8 9 def isLeapYear(self,year): 10 if (year % 4 == 0 and year % 100 != 0) 11 or (year % 100 == 0 and year % 400 ==0): 12 return True 13 else: 14 return False 15 16 17 def __iter__(self): 18 return self 19 20 def __next__(self): 21 while not self.isLeapYear(self.this_year): 22 self.this_year -= 1 23 24 temp = self.this_year 25 26 self.this_year -= 1 27 28 return temp 29 30 31 leapyear = LeapYear() 32 for i in leapyear: 33 if i >= 1900: 34 print(i) 35 else: 36 break