python统计作业提交情况

文章目录


2.0版本
https://blog.csdn.net/xiaobai_July/article/details/108930991

1.思路

1.1首先需要一个班级的成员名单,包括学号和姓名。通过遍历进行统计提交情况(我现在没有名单,使用字典的方式进行后续比较)
1.2编写遍历文件夹下文件的方法,并且拿到文件的名称,提取姓名和学号(供后边统计使用)。
1.3实现已经提交人员名单.
初始化一个提交人员的list,通过上边遍历的文件学号(即文件夹下存在的都是已经提交的),添加到这个list中。
1.4实现未提交作业的人员名单.
通过遍历原始字典下,进行提交名单的list嵌套。使用if进行判断,如果字典中存在提交名单的内容,把它剔除掉。最后把字典转成list输出。
1.5实现生成未提交人员的excel文件(固定代码,按照模板使用即可)

2.实现

2.1运行截图
在这里插入图片描述
在这里插入图片描述

2.2代码

import os
import xlwt
def findAllFile(base):
    for root, ds, fs in os.walk(base):
        for f in fs:
            yield f

def main():
    base = r'C:\Users\19594\Desktop\软件3班作业'
    count=0
    num_name={
    '01': '三班1号',
    '02': '三班2号',
    '03': '三班3号',
    '04': '三班4号',
    '05': '三班5号',
    '06': '三班6号',
    '07': '三班7号',
    '08': '三班8号',
    '09': '三班9号',
    '10': '三班10号',
    '11': '三班11号',
    '12': '三班12号',
    '13': '三班13号',
    '14': '三班14号',
    '15': '三班15号',
    '16': '三班16号',
    '17': '三班17号',
    '18': '三班18号',
    '19': '三班19号',
    '20': '三班20号',
    '21': '三班21号',
    '22': '三班22号',
    '23': '三班23号',
    '24': '三班24号',
    '25': '三班25号',
    '26': '三班26号',
    '27': '三班27号',
    '28': '三班28号',
    '29': '三班29号',
    '30': '三班30号',
    '31': '三班31号',
    '32': '三班32号',
    '33': '三班33号',
    '34': '三班34号',
    '35': '三班35号',
    '36': '三班36号',
    '37': '三班37号'
    }
    submit_list=[]
    submit_list2=[]
    for i in findAllFile(base):
        for a in num_name:
            if i.split("202010203")[1][0:2]==a:
                submit_list.append(a+''+num_name[a])
                submit_list2.append(a)
                count += 1
    for key in list(num_name.keys()):
        for i in submit_list2:
            if key==i:
                del num_name[key]
                continue
    print('共提交',count,'份作业')
    print('提交名单',submit_list)
    print('未交', len(num_name),'人,名单',list(num_name.values()))
    print('是否生成excel文件?1是2否')
    flag = input()
    if flag=='1':
        print('生成完毕,请在桌面查看')
        # 创建工作簿
        f = xlwt.Workbook()
        # 创建一个sheet
        sheet1 = f.add_sheet('未交作业名单', cell_overwrite_ok=True)
        col1 = sheet1.col(0)
        col1.width = 256 * 38
        # 第一个是行,第二格式列 都是从0开始
        for i in range(0, len(list(num_name.keys()))):
            sheet1.write(i, 0, list(num_name.values())[i])
        # 保存文件
        f.save(r"C:\Users\19594\Desktop\名单.xls")
    else:
        print('取消生成')
if __name__ == '__main__':
    main()
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我柒月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值