【模拟】回文日期

题目

1710414584631.webp
1710414592904.webp

我的代码

import datetime
ipt = input()
begin = datetime.datetime(int(ipt[0:4]), int(ipt[4:6]), int(ipt[6:8]))
flag1=0
flag2=0
while True:
  if flag1==1 and flag2==1:
    break
  begin += datetime.timedelta(days=1)
  date = str(begin.year)
  if begin.month<10:
    date = date + "0"
  date = date + str(begin.month)
  if begin.day<10:
    date = date + "0"
  date = date + str(begin.day)
  
  if date == date[::-1] and flag1==0:
      print(date)
      flag1=1
  if date == date[::-1] and date[0]==date[2]==date[5]==date[7] and date[1]==date[3]==date[4]==date[6]:
      print(date)
      flag2=1
​

使用datetime上大分,防止非法日期的出现,主要要记住datetime的加减:begin += datetime.timedelta(days=1)

题目链接:https://www.lanqiao.cn/problems/498/learning/

© 版权声明
THE END
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容

【C++】小竹的C++学习笔记分享 | 78篇体系化文档×4.7 万字(PDF 可下载) - AI科研 编程 读书笔记 - 小竹の笔记本
订阅本站更新 - AI科研 编程 读书笔记 - 小竹の笔记本
【日常】2025年度总结(重磅手敲8K字) - AI科研 编程 读书笔记 - 小竹の笔记本