题解 | #简单错误记录#

简单错误记录

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

# 记录错误数据(使用append添加,pop(0)删除列表头错误数据)
input_list = []
# 设置记录错误数据列表的长度
input_list_size = 0
# 当input_list长度大于8,并且有最新的错误需要记录时,删除input_list头数据,数据存储在input_list_remove
input_list_remove = []
# 记录错误数据的个数字典
dict_input = {}

while True:
    try:
		# 处理输入数据
        ont_data = input().split(" ")
        row = ont_data[-1]
        file_path = ont_data[0]
        file_name = file_path.split("\\")[-1]
        if len(file_name) >16:
            file_name = file_name[-16:]
        # 最终存入列表的记录数据,如:"ywzqaop 631"
        key = file_name + " " + row
        # 长度小于8
        if input_list_size < 8:
            # 如果 key 不在 input_list,则添加到列表,列表长度+1,并且更新dict_input
            if key not in input_list:
                    input_list.append(key)
                    dict_input[key] = 1
                    input_list_size += 1
            else:
				key 在 input_list,则只需要更新dict_input
                dict_input[key] += 1
        # 当列表长度小于8时
        else:
            # 如果 key 在 input_list,则更新dict_input记录的错误数据的数量
            if key in input_list:
                dict_input[key] += 1
			# 如果 key 在 input_list_remove,则跳过不记录此条信息,因为此前已经出现过的记录不需要重新记录
            elif key in input_list_remove:
                continue
			# 如果key不在上面的条件中,则说明是新产生的无重复错误信息,
            else:
				# 删除头记录,并添加到已经记录过并且添删除的列表中
                input_list_remove.append(input_list.pop(0))
				# 添加新错误信息到列表尾部,并更新数量
                input_list.append(key)
                dict_input[key] = 1
    except:
        break
# 打印错误记录
for k in input_list:
    print(f"{k} {dict_input.get(k)}")
    

全部评论

相关推荐

牛客20485985...:抱抱😘,首先你还有春招,然后就算这时候没上岸也没关系,大部分人都是这样,毕业了再找也成,最后工作只是生活的一小部分,找到工作也不是一个必须的事情。不要气馁不要焦虑你只是陷入了短暂的低谷,你也一直有退路
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-19 10:38
实力求职者:真的绷不住了,第一张霸总人设,第二张求生欲拉满
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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