题解 | #简单错误记录#

简单错误记录

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

import sys
# 错误记录类
class ErrorLog():
    def __init__(self):
        # 初始化一个日志id计数字典
        self.logs_id = {}
        # 一个日志信息的列表
        self.logs = []
        # 最大条数
        self.max_length = 8
        # 文件名截取长度
        self.str_limit = 16
        # 日志计数
        self.count = 0
    
    # 记录日志方法
    def record(self, log):
        filename , line = self.log_format(log)
        self.count += 1
        log_id = filename + line
        # 检查是否重复
        if not self.log_repeat_check(log_id):
            if len(self.logs) >= self.max_length:
                self.logs.pop(0)
            self.logs.append({
                'file':filename,
                'line':line
            })
            self.logs_id[log_id] = 1
        else:
            self.logs_id[log_id] += 1
    
    # 辅助方法,日志格式化
    def log_format(self, log):
        # 空格拆分 
        filepath,line = log.split()
        # 考查切片 [-16:]  第一个参数负值,表示从后往前,取最后16个
        filename = filepath.split('\\')[-1][-self.str_limit:]
        return filename,line

    # 辅助方法,检查重复
    def log_repeat_check(self, log_id):
        return log_id in list(self.logs_id)
    
    # 打印日志
    def get_current_logs(self):
        for item in self.logs:
            print(' '.join([item['file'], item['line'], str(self.logs_id[item['file']+item['line']])]))

logger = ErrorLog()
for item in sys.stdin:
   logger.record(item.strip())
logger.get_current_logs()

全部评论

相关推荐

2025-12-01 10:57
已编辑
云智研发公司_后台开发
先说明一下 bg双非本,没有特别加分的竞赛奖项,只有一些省奖作为25入职的校招生我想我我入职体验是最新鲜的面试准备,工作体验(本人是研发岗)1、首先作为一个实习经历并不多的双非本来说,我能过筛选已经很出乎意外了,所以我格外重视这次面试①首先就是算法题,我在力扣刷了两遍的hot100,最起码我认为我不能在算法题上失误②其次我在牛客网和小红书上看了很多的面经,包括一些自我介绍,一些面试技巧等tips:①简历中的内容一定要理解透彻,面试官可能问到简历中的各种内容②如果在面试中遇到不会的问题,可以直接说明,面试官可以理解校招同学我只能说足够的准备才能不浪费一次面试的机会2、入职以后,我最大的体验就是同事之间的互相帮助,大家不会一个简单的问题就不耐烦,反而会问你有没有理解,可以重复的帮助你①入职后,工作上不理解的一定要积极的询问同事或者导师或者leader,大家对于校招同学有些很高的包容性,面对其他问题可以问hr②新入职都可能存在彷徨,有压力,毕竟入职一定是需要学习新的知识,但是可以化压力为动力,努力学习3、最后我想说的,云智大家庭是一个包容性很强很温暖的大家庭,没有学历歧视,没有经验歧视,没有地域歧视,没有职位歧视,只有一起共同进步的目标,欢迎大家向云智投出简历(我本人在武汉腾讯云智,有想咨询的问题可以私聊我)ps:图一是入职培训优秀小组
面了100年面试不知...:是谁有鹅仔
腾讯云智研发成长空间 5107人发布
点赞 评论 收藏
分享
2025-12-15 12:50
河北工程大学
sta666:我也是这个国际商业化的,三天,一天一面,就通过了,不过我是后端实习生,好好面感觉能过。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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