回文日期——python

思路:通过日期的范围,对年份进行遍历

import os
import sys


a = input()

# 获取遍历的起点 
x1 = eval(a[0])

count_1 = 0
count_2 = 0

# 以2022.10.30为例
# x1(最后一位)的范围是:0到9   for i1 in range(x1,10):
# x2(最后二位)的范围是:0到3   for i2 in range(4):

for i1 in range(x1,10):
    if (count_1>=1 and count_2>=1):
        break
    for i2 in range(4): 
        if (count_1>=1 and count_2>=1):
            break
        for i3 in range(10):
            if (count_1>=1 and count_2>=1):
                break
            for i4 in range(2):
                b='%d%d%d%d' %(i1,i2,i3,i4)
                # 通过年份的倒序,输出回文日期
                c=eval(b+b[::-1])
                # 获取月份,避免出现0月的情况 f>=1
                d='%d%d' %(i4,i3)
                f=int(d)

                if (c>eval(a)):
                    # 回文日期
                    if (count_1<=0 and f>=1):   
                        count_1+=1
                        print(c)
                    # ABABBABA 型的回文日期
                    if (b[0]==b[2] and b[1]==b[3] and count_2<=0):
                        count_2+=1
                        print(c)
                    if (count_1>=1 and count_2>=1):
                        break

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值