一.题目
小蓝要处理非常多的数据, 其中有一些数据是日期。
在小蓝处理的日期中有两种常用的形式:英文形式和数字形式。
英文形式采用每个月的英文的前三个字母作为月份标识,后面跟两位数字表示日期,月份标识第一个字母大写,后两个字母小写, 日期小于10时要补前导 0。1 月到 12 月英文的前三个字母分别是 Jan
、Feb
、Mar
、Apr
、May
、Jun
、Jul
、Aug
、Sep
、Oct
、Nov
、Dec
。
数字形式直接用两个整数表达,中间用一个空格分隔,两个整数都不写前导 0
。其中月份用 1 至 12 分别表示 1 月到 12 月。
输入一个日期的英文形式, 请输出它的数字形式。
输入格式
输入一个日期的英文形式。
输出格式
输出一行包含两个整数,分别表示日期的月和日。
二.示例及注意事项
输入输出样例
输入
Feb08
输出
2 8
输入
Oct18
输出
10 18
说明/提示
蓝桥杯 2020 第三轮省赛 AB 组 F 题。
三.思路
将字符串数据拆分放入一个空列表G中,用列表H表示1-12月所对应的英文缩写;可以观察到月份的英文字母缩写均由三个单字符构成,因此对列表G中的前三个数据进行拼接,然后与列表H中对应的信息相比对,月份输出的是列表H中对应的index+1,日期(也进行了相关数据的拼接)运用强制数据类型转换;
四.代码
str1=input() str_list=[] for i in str1: str_list.append(i) month=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'] mon_fl=str1[0]+str1[1]+str1[2] da_fl=str1[3]+str1[4] if mon_fl in month: print(f"{int(month.index(mon_fl))+1} {int(da_fl)}")