题解 | #简单的错误记录#
简单错误记录
http://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
dir_path_sum = []
row_number_sum = []
dir_name = {0: ['None', 0, 0], 1: ['None', 0, 0], 2: ['None', 0, 0], 3: ['None', 0, 0], 4: ['None', 0, 0], 5: ['None', 0, 0],
6: ['None', 0, 0], 7: ['None', 0, 0]}
list=[]
def judge_same_error(index):
for key, value in dir_name.items(): # 相同错误记录
if len(dir_path_sum[index].split('\\')[-1]) > 16:
if dir_path_sum[index][len(dir_path_sum[index]) - 16:] == dir_name[key][0]:
if row_number_sum[index] == dir_name[key][1]:
dir_name[key][2] += 1
return 1
else:
return False
else:
if dir_path_sum[index].split('\\')[-1] == dir_name[key][0]:
if row_number_sum[index] == dir_name[key][1]:
dir_name[key][2] += 1
return 2
else:
return False
else:
return False
def get_dir_name():
n = 0
for i in range(len(dir_path_sum)):
if len(dir_path_sum[i].split('\\')[-1]) > 16:
if judge_same_error(i)==1:
continue
if (dir_path_sum[i][len(dir_path_sum[i]) - 16:],row_number_sum[i]) in list:
continue
list.append((dir_path_sum[i][len(dir_path_sum[i]) - 16:],row_number_sum[i]))
dir_name[n][0] = dir_path_sum[i][len(dir_path_sum[i]) - 16:]
dir_name[n][1] = row_number_sum[i]
dir_name[n][2] = 1
n += 1
if n == 8:
n = 0
else:
if judge_same_error(i)==2:
continue
if (dir_path_sum[i].split('\\')[-1],row_number_sum[i]) in list:
continue
list.append((dir_path_sum[i].split('\\')[-1],row_number_sum[i]))
dir_name[n][0] = dir_path_sum[i].split('\\')[-1]
dir_name[n][1] = row_number_sum[i]
dir_name[n][2] = 1
n += 1
if n == 8:
n = 0
return n-1
while True:
try:
dir_path, row_number = input().split()
if dir_name == '':
break
dir_path_sum.append(dir_path)
row_number_sum.append(int(row_number))
except:
break
n=get_dir_name()
for key,value in dir_name.items():
if 'None' not in value:
if key>n:
print(value[0],value[1],value[2])
for key,value in dir_name.items():
if 'None' not in value:
if key<=n:
print(value[0],value[1],value[2])