当前位置 : 主页 > 手机开发 > harmonyos >

# yyds干货盘点 # 盘点一个Python面试编程题(Python应用实战)

来源:互联网 收集:自由互联 发布时间:2023-10-08
大家好,我是皮皮。 一、前言 前几天在Python奥特曼交流群【。。】问了一个 Python 面试题的问题,一起来看看吧。 1、假设记录游戏玩家登录、退出、升级行为的日志文件格式示例如下

大家好,我是皮皮。

一、前言

前几天在Python奥特曼交流群【。。】问了一个Python面试题的问题,一起来看看吧。

1、假设记录游戏玩家登录、退出、升级行为的日志文件格式示例如下:
[2023-07-01 19:46:00][login],{"id":101}
[2023-07-01 19:46:01][login],{"id":102}
[2023-07-01 19:46:01][login],{"id":103}
[2023-07-01 19:46:02][levelup],{"id":101,"to_lv":1}
[2023-07-01 19:46:02][levelup],{"id":101,"to_lv":2}
[2023-07-01 19:46:04][logout],{"id":101}
[2023-07-01 19:46:05][logout],{"id":102}
[2023-07-01 19:46:06][login],{"id":102}
[2023-07-01 19:46:07][levelup],{"to_lv":1,"id":102}
[2023-07-01 19:46:08][logout],{"id":102}
[2023-07-01 19:46:09][logout],{"id":103}
[2023-07-02 19:46:10][login],{"id":104}
[2023-07-02 19:46:11][login],{"id":101}
[2023-07-02 19:46:12][logout],{"id":101}
[2023-07-02 19:46:22][logout],{"id":104}
…

其中,[login]为登录记录, [logout]为退出推出记录, [levelup]为升级记录。
id为玩家唯一标识,to_lv为用户升到的等级,连续升N记会记录N条日志文件。

假设日志文件从20230701服务器开服首日起记录,每个玩家的初始等级为0。希望写一个python脚本,读入日志文件,输出20230701~20230731每天、每个等级的“在线玩家”数量,等级以用户当天截至23:59:59的最后等级为准,某日的“在线玩家”是指玩家的在线时间段和当日的00:00:00~23:59:59有交集。

输出结果示例(日期、等级、在线玩家数量):
2023-07-01 0 1
2023-07-01 1 1
2023-07-01 2 1
2023-07-02 0 1
2023-07-02 2 1

# yyds干货盘点 # 盘点一个Python面试编程题(Python应用实战)_Python实战

二、实现过程

这里【宝平】给了一个思路,直接用pandas读取,然后拆分,后来【刺】给了一个ChatGPT的答案,如下图所示:

# yyds干货盘点 # 盘点一个Python面试编程题(Python应用实战)_Python基础_02

后来【宝平】又给了一个思路和代码,如下所示:

# yyds干货盘点 # 盘点一个Python面试编程题(Python应用实战)_Python实战_03

可以得到下图的答案:

# yyds干货盘点 # 盘点一个Python面试编程题(Python应用实战)_Python实战_04

顺利地解决了粉丝的问题。

⭐️ 好书推荐

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python面试编程题的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【。。】提问,感谢【宝平】、【刺】给出的思路和代码解析,感谢【莫生气】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

# yyds干货盘点 # 盘点一个Python面试编程题(Python应用实战)_Python面试题_05

上一篇:盘点一个Python网络爬虫问题
下一篇:没有了
网友评论