题解 | #简单错误记录#
简单错误记录
https://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]) # 打印键-值对
摘抄作业,这题我写了好久结果还是不对,最后一个用例通不过,实在心累
listtemp1 = [] listtemp2 = [] listtemp3 = [] codelisttemp = [] countlisttemp = [] while True: try: testinput = input() inputsplitlist1 = testinput.split('\\') inputsplitlist2 = inputsplitlist1[-1].split(' ') coderows = int(inputsplitlist2[-1]) codelisttemp.append(coderows) listtemp1.append(inputsplitlist2[-2]) except: break temp1length = len(listtemp1) for i in range(temp1length): if len(listtemp1[i]) > 16: listtemp1[i] = listtemp1[i][-16:] for j in range(temp1length): listtemp2.append([listtemp1[j],codelisttemp[j]]) for k in range(temp1length): if listtemp2[k] not in listtemp3: listtemp3.append(listtemp2[k]) countlisttemp.append(1) else: index = listtemp2.index(listtemp2[k]) countlisttemp[index] += 1 for k in range(8): try: if len(listtemp3) > 8: temp3length = len(listtemp3) startindex = k + (temp3length - 8) print(listtemp3[startindex][0], listtemp3[startindex][1], countlisttemp[startindex]) else: print(listtemp3[k][0], listtemp3[k][1], countlisttemp[k]) except: continue