本帖最后由 jackz007 于 2024-4-18 12:53 编辑 class LeapYear:
def __init__(self , x) : # 为 __init__() 添加一个参数,用于输入当前年份
self . org = x
self . now = x
def reset(self) : # 添加此函数,用于重新初始化迭代器
self . now = self . org
def isLeapYear(self, year):
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
return True
else:
return False
def __iter__(self):
return self
def __next__(self) :
while self . now >= 0 and not self . isLeapYear(self . now) :
self . now -= 1
if self . now >= 0 :
self . now -= 1
else:
raise StopIteration()
return self . now + 1
ax = LeapYear(2024)
for x in ax :
print(x)
ax . reset() # 重新初始化迭代器
for x in ax :
print(x)
|