题解 | #简单错误记录#
简单错误记录
http://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
'''
主要是看懂筛选条件,路径相同的但是row不同的,要分开算,路径和row都相同的就过滤不算,文件名(后16位)
和row相同的,如果路径不同,只需要次数+1,注意不要重复添加key
'''
error_ls = []
path_ls = []
while True:
error_dict = {
"file_name":'',
"row_number":'',
"error_number":0
}
try:
path,row = input().split()
file_name = path.rsplit('\\')[-1]
is_continue = False
if path in path_ls:
for errors in error_ls:
if errors['file_name'] == file_name and errors['row_number'] == row:
is_continue = True
break
if is_continue:
continue
path_ls.append(path)
if len(file_name) > 16:
file_name = file_name[-16:]
else:
pass
is_add = False
for errors in error_ls:
if errors['file_name'] == file_name and errors['row_number'] == row:
errors['error_number'] += 1
is_add = True
break
error_dict['file_name'] = file_name
error_dict['row_number'] = row
if is_add:
pass
else:
error_dict['error_number'] += 1
error_ls.append(error_dict)
except:
break
for error in error_ls[-8:]:
for value in error.values():
print(value,end=' ')
print('\r')