题解 | #简单错误记录#华为机试HJ19
简单错误记录
http://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
小白解题思路,可能对初学者友好一点。
ls = [] # 储存键
dic = {} # 储存键-值对
while True:
try:
msg = input().split()
msg[0] = msg[0].split('\\')[-1] # 路径\分割,只取最后一个
msg = ' '.join([msg[0][-16:], msg[1]]) # 取后16位及行号(str[-16],num)-> (str[-16] num) 此时属性为字符串
if msg not in dic.keys(): # 将msg记为字典的key值并判断是否存在
ls.append(msg) # 不存在就将其计入列表ls
dic[msg] = 1 # 将msg为key的value记录为1
else:
dic[msg] += 1 # 存在msg就在字典中对应值增加计数
except:
break
for item in ls[-8:]: # 正序遍历后八个存储的键
print(item, dic[item]) # 打印键-值对