班长日常:使用python查找青年大学习未完成的同学


附件点击下载

用python查找青年大学习未完成的同学

0. 班长的诉苦

作为班里的班长,每个周检查班里同学的青年大学习完成情况已是例行公事。
我们班大学习的检查流程是:

  1. 同学做完大学习,将学习记录截屏发到班级qq群里
  2. 班长(也就是我)对着聊天记录用花名册挨个划名(如下图)


直到今天我痛定思痛,开发了查名的python辅助小程序!虽然非常简陋,但是自用完全足够了。

程序的原理:
在一次实验中我发现,如果直接将qq的群聊天记录复制到txt文本中,文本会显示发送该消息的群成员的群昵称和发送时间。



所以只需要把所有同学的聊天记录复制到txt文本里,txt文本就会包含所有已提交截图的同学的名字。程序只需要通过花名册对应查找未出现在txt文本里的同学就好了。
代码如下:

"""
@author: 刘艺杰

本程序用于查找未在群众发送消息(如青年大学习等)的人员名单

1. 参数输入
    无

2. 使用流程:
    1) 在namelist.txt中写入花名册, 一个名字占一行, 注意不要有空格, 文档结尾无空行(默认为软工2名单)
    2) 将群消息复制到"chat record.txt"文件中
    3) 运行代码输出结果
"""


namelist=[]
str=''
with open('namelist.txt','r',encoding=('utf-8')) as f:
    lines = f.readlines()
    for line in lines:
        line = line.strip('\n')
        line = line.strip(' ')
        namelist.append(line)
        
record = ''
with open('chat record.txt','r',encoding=('utf-8')) as f:
    lines = f.readlines()
    for line in lines:
        line = line.strip('\n')
        record+=line


reslist=[]
for stu in namelist:
    if record.find(stu)==-1:
        reslist.append(stu)



print('未完成名单:')
for stu in reslist:
    print(stu)
print('共',len(reslist),'人')

说明:

该程序包括3个文件:1个py文件和2个txt文件

  • find name by chat record.py:运行的程序
  • chat record.txt:用来保存群里聊天记录
  • namelist.txt:作为花名册存放所有同学的姓名


使用教程

Step1:把班级同学姓名存入namelist.txt中

注意:一个名字占一行,用回车符分隔,不要有空格,也不要用空行



Step2:将聊天记录复制到chat record.txt中



Step3:运行py文件,输出未完成名单



繁杂任务轻松搞定!!

ps:对暴露我们班同学姓名隐私的行为表示道歉(下次还敢)

声明:奋斗小刘|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 班长日常:使用python查找青年大学习未完成的同学


Make Everyday Count