提取生日

题面

输入一个人的出生日期(包括年月日),将该生日中的年、月、日分别输出
输入

输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。

输出

三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。
输出时如果月份或天数为1位数,需要在1位数前面补0。

IN

20130225

OUT

year=2013
month=02
date=25

分析

  1. 命名分组正则提取
  2. 遍历zfill填充补零

解法

import re

str = input()

p = r'^(?P<year>\d{4})(?P<month>\d{1,2})(?P<day>\d{1,2})$'
res = re.search(p, str)

for k, v in res.groupdict().items():
    v = v if len(v) > 2 else v.zfill(2)
    print(k, v, sep='=')

效果

(base) D:\code-base\python\test>python -u "d:\code-base\python\test\birth.py"
200011
year=2000
month=01
day=01
本作品采用《CC 协议》,转载必须注明作者和本文链接
pardon110
讨论数量: 1
Jason990420

2000111 是1月11日, 还是11月1日 ?

3周前 评论
fd5556 2周前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!