题解 | #简单错误记录#

简单错误记录

https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb

def process_lis(inp):
    name = inp.split()[0]
    num = inp.split()[1]
    if len(name) > 16:
        name = name[-16:]
    return name + ' ' + num

key_lis = list()
result_dic = dict()         #以name+num作为索引,字典里实际上的value只有次数

try: 
    while True:
        key = process_lis(input().split('\\')[-1])
        result_dic[key] = result_dic.get(key,0) + 1     #如果 key在字典中,返回对应的值;否则返回默认值 0。作用是计算错误出现次数
        if key not in key_lis:
            key_lis.append(key)
except(EOFError,ValueError):
    pass

for key in key_lis[-8:]:
    print(key,result_dic[key])

借鉴评论区两位大佬的思路。选择函数封装输入处理+字典方式

全部评论

相关推荐

昨天 14:27
门头沟学院 Java
点赞 评论 收藏
分享
下北澤大天使:你是我见过最美的牛客女孩😍
点赞 评论 收藏
分享
昨天 13:49
深圳大学 运营
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务