题解 | #简单错误记录#

简单错误记录

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]) 


全部评论

相关推荐

11-08 10:39
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务