输入一行字符串,里面有两个日期,输出最大的那个日期
我的想法是利用切片分别获取年月日的最后两个数字进行比较,这一步不会写
举个例子
date_str = input("请输入两个日期(格式为YYYY-MM-DD,用空格分隔):")
dates = date_str.split() # 将输入的字符串按空格分割成两个日期字符串
max_date = max(dates) # 取得两个日期字符串中的较大值
print("最大的日期为:", max_date)
首先通过input()函数从用户处读入一个字符串,并利用split()方法将这个字符串分割成两个日期字符串。然后,我们通过调用内置函数max()计算并返回这两个日期字符串中的较大值。最后,我们将结果输出到控制台
如果对你有帮助的话,请给我一个采纳,谢谢啦
输入字符串:问:wo de sheng ri shi 2000-01-01, ni de ne ? 答:My birthday is 1973-05-01.
提取日期字符:2000-01-01 1973-05-01
其实除了切片,还有更好的办法,比如 str.split() 方法更妙。
#!sur/bin/nve python
# coding: utf-8
from re import findall # 加载随机抽奖方法。
s = '问:wo de sheng ri shi 2000-01-01, ni de ne ? 答:My birthday is 1973-05-01.'
mydate = findall(r'\d{4}-\d{2}-\d{2}', s)
print(*mydate)
date1, date2 = mydate
#input(date1[-2:]) #调试用语句。
def max_date(date1, date2):
if int(date1[:4]) < int(date2[:4]):
return date2 # 比较年份。
else:
return date1
if int(date1[5:7]) < int(date2[5:7]):
return date2 # 比较月份。
else:
return date1
if int(date1[-2:]) < int(date2[-2:]):
return date2 # 比较号数。
else:
return date1
if __name__ == '__main__':
print(max_date(date1, date2))
提取字符串中的日期字符
#!sur/bin/nve python
# coding: utf-8
from re import findall # 加载随机抽奖方法。
s = 'wo de sheng ri shi 2000-01-01,ni de ne ?'
mydate = findall(r'\d{4}-\d{2}-\d{2}', s)
print(mydate)