这道题看起来思路比较清晰,首先判断出参加校庆的校友数,然后对生日进行字典排序
try-except特殊用法: 用try-except替代if-else进行校友的判断
sys模块:在输入量较大时,sys输入比input要快很多,sys模块输入不处理换行符
operator模块: 提供了各种运算函数,比python的内置运算符效率高
代码如下:
import sys
import operator
in_1 = int(sys.stdin.readline())
dict_1,dict_2 = {},{}
is_0 = 0
for i in range(in_1):
dict_1[sys.stdin.readline()] = '1'
in_2 = int(sys.stdin.readline())
for j in range(in_2):
try :
in_dict2 = sys.stdin.readline()
e = dict_1[in_dict2]
dict_2[in_dict2[6:14]] = ('1',in_dict2[0:18])
except KeyError:
is_0 = is_0 + 1
dict_2[in_dict2[6:14]] = ('0',in_dict2[0:18])
last_set = sorted(dict_2.items(),key=operator.itemgetter(0),reverse=False)
print(in_2-is_0)
if in_2-is_0==0:
for x in last_set:
if x[1][0]=='0':
print(x[1][1])
break
else:
for x in last_set:
if x[1][0]=='1':
print(x[1][1])
break