私信TA

用户名:uq_82573248593

访问量:301

签 名:

等  级
排  名 37250
经  验 367
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:将可能的年份和可能的日期分两个列表存储,通过date函数判断日期合理性,再将符合条件的日期与年份拼接构造回文日期

注意事项:此代码判断2022年的日期是否合理将其代表为所有年份,可能会在某些闰年时导致少了(2.29),但对于本题没有影响

参考代码:

from datetime import date

n = input()

date_palindrome = []

palindrome_ABAB = []


def isValidDate(year,mouth,day):

    try:

        date(year,mouth,day)

    except:

        return False

    else:

        return True


date_year = []

date_mou_day = []

for i in range(int(n[:4]),9300):

    date_year.append(str(i))

for i in range(101,1232):

    if i <= 999:

        if isValidDate(2022,int(str(i)[0]),int(str(i)[1:])) == True:

            date_mou_day.append('0'+str(i))

    if i >= 1000:

        if isValidDate(2022,int(str(i)[:2]),int(str(i)[2:])) == True:

            date_mou_day.append(str(i))

for i in date_mou_day:

    if i[::-1] in date_year and int(i[::-1]+i) > int(n):

        date_palindrome.append(int(i[::-1]+i))

        if i[0] == i[2] and i[1] == i[3]:

            palindrome_ABAB.append(int(i[::-1]+i))

date_palindrome.sort()

palindrome_ABAB.sort()

print(date_palindrome[0])

print(palindrome_ABAB[0])


 

0.0分

3 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区