编写一个程序,检查给定日期是否为dd/mm/yyyy和mm/dd/yyyy格式的回文日期。
- 定义函数
is_date_palindromic()
,接受一个参数date_in_string
(以dd/mm/yyyy格式的日期字符串)。 - 如果给定的日期在dd/mm/yyyy和mm/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))