检查回文日期(python练习)

编写一个程序,检查给定日期是否为dd/mm/yyyymm/dd/yyyy格式的回文日期。

  • 定义函数is_date_palindromic(),接受一个参数date_in_string(以dd/mm/yyyy格式的日期字符串)。
  • 如果给定的日期在dd/mm/yyyymm/dd/yyyy格式下都是回文日期,函数应该返回True,否则返回False

示例输入-1

02/02/2020

示例输出-1

True

解释: 日期02/02/2020是回文日期,因为它从前往后读和从后往前读是一样的。

示例输入-2

11/02/2011

示例输出-2

False

解释: 在dd/mm/yyyy 下为回文,但mm/dd/yyyy下非回文,所以为False

  • 回文就是正反都一样的字符串
  • 判断是否为回文时需要去掉日期中的分隔符/

本题中主要涉及字符串分割、拼接和反转。

字符串分割用split,返回的是一个列表。

字符串反转用的是reversed()函数,其返回的是一个把序列值反转后的迭代器,不能直接用于比较,可以像代码中使用''.join将其拼接成字符串后进行比较。 

def is_date_palindromic(date_in_string):
    # 此处编写你的代码
    datelist=date_in_string.split('/')
    newstring1=''
    newstring2=''
    for date in datelist:
        newstring1+=date
    newstring2+=datelist[1]
    newstring2+=datelist[0]
    newstring2+=datelist[2]
    if newstring1==''.join(reversed(newstring1)) and newstring2==''.join(reversed(newstring2)):
        return True
    else:
        return False

# 获取日期输入 
date_in_string = input()

# 调用函数 
print(is_date_palindromic(date_in_string))
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回文日期是指从左到右和从右到左读取都相同的日期。根据引用的代码,可以使用Python的datetime模块来生成回文日期。代码首先将输入的日期字符串转换成日期对象,然后使用循环逐天增加日期,判断日期是否是回文日期,并输出。其中,如果是ABABBABA类型的回文日期,则会在找到一个回文日期后停止循环。 例如,如果输入的日期为20221202,根据引用的代码,输出的回文日期为20221202。 如果你想使用引用中的代码来生成回文日期,你可以使用datetime和calendar模块。代码首先将输入的日期字符串分别提取出年、月、日,然后使用calendar.monthrange()函数获取指定年份指定月份的天数。接下来,使用循环逐天增加日期,判断日期是否是回文日期,并输出。 请注意,这些代码仅适用于生成回文日期,如果你有其他问题,请告诉我。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [回文日期 python](https://blog.csdn.net/qq_56007856/article/details/123635072)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [Python回文日期问题](https://blog.csdn.net/qq_65144447/article/details/127527735)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值