统计网络学堂上提交的作业和论文2022
Posted 卓晴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计网络学堂上提交的作业和论文2022相关的知识,希望对你有一定的参考价值。
01 作业统计
一、背景介绍
今天对2022年人工神经网络课程提交的作业与小论文进行统计。 所有五次作业以及一次小论文都可以从网络学堂上打包下载,下载后使用 Bandizip进行批量解压缩。这次作业统计的要求,就是将这些批量压缩的文件进行统计合并,形成一份关于本学期提交作业的EXCEL表格。
二、基本条件
1、输入条件
从网络学堂上下载了每次作业以及补交作业的压缩文件。其中五次作业分别为 HWn,n=1,2,3,4,5;每次的补交作业是在提交作业名称之后增加了一个“-1”。 提交的小论文是 PAPER.zip.
- HW1.zip
- HW1-1.zip
- HW2.zip
- HW2-1.zip
- HW3.zip
- HW3-1.zip
- HW4.zip
- HW4-1.zip
- HW5.zip
- HW5-1.zip
- PAPER.zip
将这些文件进行解压缩,分别存放在以他们名称相同的子目录中。解压缩后的文件包括有两种形式,一个是PDF文件另外一种是RAR,ZIP压缩文件。 文件名称的结构是
2、处理后的结果
根据上述作业所在的目录,将提交文件的格式形成一个EXCEL表格, 给出每个课程学生提交作业的统计情况。 EXCEL表格的栏目分别为:
学号是从网络雪上下载的学生信息EXCEL表格导出。按照相同的学生顺序进行统计。
三、编程处理
1、数据准备
将作业处理所相关的文件都统一存储在目录 hwdir中。
hwdir = r’d:\\temp\\hw
其中包含有所以则ZIP文件以及相应的加压缩子目录文件。 学生学号存储在 SSN.TXT 文件中。 最终的EXCEL表格为 StudentInfor-TSH。XLS
2、处理程序
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# PROC1.PY -- by Dr. ZhuoQing 2023-01-09
#
# Note:
#============================================================
from headm import *
hwdir = r'd:\\temp\\hw' # Store all the file
ssn = 'ssn.txt'
outfile = r'd:\\temp\\result.csv'
#------------------------------------------------------------
def studentSN():
fname = os.path.join(hwdir, ssn)
printf(fname)
sndim = []
namedim = []
with open(fname,'r') as f:
for l in f.readlines():
l = l.strip('\\n').split('\\t')
if l[0] == '学号':
continue
sndim.append(l[0])
namedim.append(l[1])
return sndim,namedim
#------------------------------------------------------------
sndim, namedim= studentSN()
printf(sndim, namedim)
#exit()
#------------------------------------------------------------
def checkdir(dirs1, dirs2, sndim):
result = [0]*len(sndim)
dirall = os.path.join(hwdir, dirs1)
if os.path.isdir(dirall):
fdim = os.listdir(dirall)
for f in fdim:
ff = f.split('_')[0]
if ff in sndim:
id = sndim.index(ff)
result[id] = 1
dirall = os.path.join(hwdir, dirs2)
if os.path.isdir(dirall):
fdim = os.listdir(dirall)
for f in fdim:
ff = f.split('_')[0]
if ff in sndim:
id = sndim.index(ff)
result[id] = 1
return result
#------------------------------------------------------------
resultall = []
for i in range(1,6):
resultall.append(checkdir('hw%d'%i, 'hw%d-1'%i, sndim))
resultall.append(checkdir('paper', '', sndim))
#------------------------------------------------------------
for n in resultall:
printf(n)
#------------------------------------------------------------
with open(outfile, 'w') as f:
f.write('学号,姓名,作业1,作业2,作业3,作业4,作业5,PAPER\\n')
for i in range(len(sndim)):
s = '%s,%s,%d,%d,%d,%d,%d,%d'%(sndim[i], namedim[i], resultall[0][i],
resultall[1][i], resultall[2][i],
resultall[3][i], resultall[4][i],
resultall[5][i])
f.write('%s\\n'%s)
printf('\\a')
#------------------------------------------------------------
# END OF FILE : PROC1.PY
#============================================================
四、结果分析
▲ 图1.4.1 处理结果CSV文件
※ 总 结 ※
本文给出了对于作业进行统计的方案。 文中的PYTHON程序可以为后期其他作业批改重复应用。
▲ 图2.1 作业处理
● 相关图表链接:
以上是关于统计网络学堂上提交的作业和论文2022的主要内容,如果未能解决你的问题,请参考以下文章