解题思路
将生日合法的储存进字典中,最后将生日合法的用keys转化为列表,使用函数max及min查找年长与年轻的人,使用字典将年长与年轻映射的名字打印出来即可。
代码
n = eval(input())
dic = {}
for i in range(0,n):
s = input().split()
name = s[0]
birth = s[1].split('/')
#判断生日是否符合题意
if int(birth[0]) <= 1814 and int(birth[1]) <= 9 and int(birth[2]) < 6:
continue
if int(birth[0]) >= 2014 adn int(birth[1]) >= 9 and int(birth[2]) > 6:
continue
if int(birth[0]) > 2014:
continue
if int(birth[0]) < 1814:
continue
dic[birth[0]] = name
birthlist = list(dic.keys())
listLen = len(birthlist)
maxBirth = max(birthlist)
minBirth = min(birthlist)
oldName = dic[minBirth]
youngName = dic[maxBirth]
print('{0} {1} {2}'.format(listLen,oldName,youngName))
暂时还没调试好,只能拿到15分,有3分非零返回,两分超时,暂时不知道是什么原因。