题解 | #简单错误记录#
简单错误记录
http://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
该题的解题思路: 题干中要求只输出倒数8个文件名和行数以及出现的次数,其中文件名和行数不重复,且文件名不超过16个字符。总的思路就是对输入进行切片得到只包含文件名和函数的值,并将其插入到列表中,还要对列表去重判断:有两种方法去重,一种是先加到列表中再去做去重处理,另一种是在插入之前对至进行判断是否存在,存在则不插入只计数+1,不存在则直接插入并计数。第一种方法比较笨,代码量比较复杂,还容易出错,因此选择了第二种方法(这里有借鉴其他朋友的代码),以上仅作为新手的学习笔记 dires = [] counts = [] while True: try: l = input().split('\\')[-1] data = l.split(' ')[0][-16:]+' '+l.split(' ')[-1] if data not in dires: dires.append(data) counts.append(1) else: counts[dires.index(data)]+=1 except: break for i in range(len(dires[-8:])): print(dires[-8:][i],counts[-8:][i])