python 回文日期
主要思路是每一年只会有一个回文日期,所以我们通过年份去构造一个回文数,再判断这个回文数满不满足月份日期的格式,如果满足则是回文日期
st_time=input()
year=int(st_time[0:4])
big_month=[1,3,5,7,8,10,12]
flag1=0
flag=0
while(True):
s=str(year)
time=s+s[::-1]
month=int(time[4:6])
day=int(time[6:8])
if(flag==0):
if(month<int(st_time[4:6]) or day<int(st_time[6:8])):
flag=1
year+=1
continue
if(big_month.count(month)==1):
if(month<=12 and month>0 and day<=31 and day>0 and flag1==0):
time1=time
flag1=1
if(month<=12 and month>0 and day<=31 and day>0
and s[0]==s[2] and s[1]==s[3]):
time2=time
break
else:
if(month==2):
if(year%400==0 or (year%4==0 and year%100!=0)):
if(month<=12 and month>0 and day<=29 and day>0 and flag1==0):
time1=time
flag1=1
if(month<=12 and month>0 and day<=29 and day>0
and s[0]==s[2] and s[1]==s[3]):
time2=time
break
else:
if(month<=12 and month>0 and day<=28 and day>0 and flag1==0):
time1=time
flag1=1
if(month<=12 and month>0 and day<=28 and day>0
and s[0]==s[2] and s[1]==s[3]):
time2=time
break
else:
if(month<=12 and month>0 and day<=30 and day>0 and flag1==0):
time1=time
flag1=1
if(month<=12 and month>0 and day<=30 and day>0
and s[0]==s[2] and s[1]==s[3]):
time2=time
break
year+=1
flag=1
print(int(time1))
print(int(time2))