01下载学生提交作业


在网络学堂作业批改页面将提交的信息存储成TEXT文件,每一次存储成一个文件,共15次:

▲ 将提交学生的信息进行选择、拷贝、粘贴

▲ 每次提交作业存储的文件

下面是text文本文件的基本格式。

 分组  学号  姓名  院系  班级  上交时间    状态  成绩  批阅老师    操作
全体  2016012194  王伟帆 新雅书院    CDIE7   2020-02-24 23:40    未批改         批阅
全体  2017010684  刘一纯 新雅书院    CDIE7   2020-02-22 19:50    未批改         批阅
全体  2017011907  邓文静 新雅书院    CDIE7   2020-02-24 12:26    未批改         批阅
全体  2017013634  崔琢宜 新雅书院    CDIE7   2020-02-24 22:06    未批改         批阅
全体  2017013657  李卓勋 新雅书院    CDIE7   2020-02-20 21:03    未批改         批阅
全体  2017013661  刘雨佳 新雅书院    CDIE7   2020-02-24 17:06    未批改         批阅
全体  2017013670  张皓烨 新雅书院    CDIE7   2020-02-21 17:09    未批改         批阅
全体  2017013672  孙兆晗 新雅书院    CDIE7   2020-02-24 17:22    未批改         批阅
全体  2017013677  郑智  新雅书院    CDIE7   2020-02-23 21:12    未批改         批阅
全体  2017013687  吴炳炎 新雅书院    CDIE7   2020-02-21 20:42    未批改         批阅
全体  2017013693  黄连聚 新雅书院    CDIE7   2020-02-24 20:44    未批改         批阅

02生成学生作业统计信息


1.统计作业的功能

在DOP文件中声明相应的作业所处的目录:

homeworkdir:
D:\Teaching\SignalsSystems\SS2020S\HOMEWORKA\XINYA
autodir:
D:\Teaching\SignalsSystems\SS2020S\HOMEWORKA\AUTO

通过调用hmwasub中的addhwtextfile相关命令,将所有提交的作业情况进行汇总。具体的过程参见下面的子程序。

处理过程中,在MESSAGE窗口显示如下的信息:

Total Students:11
2016012194 王伟帆 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017010684 刘一纯 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017011907 邓文静 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017013634 崔琢宜 13 [2][8] [1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1]
2017013657 李卓勋 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017013661 刘雨佳 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017013670 张皓烨 14 [13] [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1]
2017013672 孙兆晗 12 [3][5][10] [1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1]
2017013677 郑智 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017013687 吴炳炎 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017013693 黄连聚 11 [11][12][13][15] [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0]

2.形成公众号可查询文件

通过对MESSAGE窗口显示文本增加查询说明,可以形成在公众号可查询文件。使用相应的查询命令:

查询命令 ?数据文件名称

下面是相关的查询文本样例:

信号与系统2020春季作业统计学号:$1
姓名:$2
作业提交次数:$3
缺少作业:$4--------------------------------------
Total Students:174
2014011587 黄卓 13 [7][15] [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0]
2015011437 薛盛元 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2016011434 张翔峰 13 [12][13] [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1]
2016012223 潘咭翔 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017010462 左天宇 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017010527 刘泽源 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017010749 劳天成 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017010864 倪赞林 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017011595 陈梦醒 13 [2][13] [1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1]
2017011653 李炜 14 [7] [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1]
2017011939 李晟永 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017012018 陈惠来 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
2017012359 张一帆 14 [9] [1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1]
2017012375 刘书昕 15 NULL [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
新雅学院信号与系统课程学号:$1
姓名:$2
试卷分数:$10
作业情况:$11
课程情况:$15
预估总分:$16备注:预估总分=试卷分数*0.7+作业*1.5/1.3+课程*0.15/1.2
-----------------------------------------------
2015011180  张晨宇 10.5    8   17  11  17  5   9   77.5    10  58  39  4   101 78.41
2016013297  于港  8   8   15  9   20  5   7   72  9   57  38  3   98  73.03
2016013298  沈习远 13  10  20  15  25  5   8   96  13  65  51  4   120 97.20
2016013305  邓佳怡 10.5    9   17  12  20  4   2   74.5    13  64  50  4   118 81.90
2016013308  徐一支 10.5    10  14  12  20  5   10  81.5    12  64  43  3   110 84.65
2016013312  于天宇 13  8   19  14  25  5   10  94  13  63  53  4   120 95.80
2016013320  王依晨 6.5 6   15  15  17  3   8   70.5    9   65  44  4   113 73.86
2016013327  项雨桐 11.5    9   17.5    15  20  5   10  88  13  61  46  1   108 90.10
2016013334  王振飞 14  10  14  15  25  5   10  93  13  65  58  4   127 95.98
2016013335  张迟  10.5    7   15  13  24  5   8   82.5    13  66  45  4   115 87.13
2016013342  朱宇轩 14  10  19  15  21  5   8   92  13  51  48  12  111 93.28
2016013346  於汀  11  7   17  12  21  5   9   82  13  65  53  4   122 87.65
2016013339  郑雅文 10.5    10  18  13  22  5   8   86.5    11  65  49  4   118 87.99

3.处理作业的相关子程序

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# ALLSTUDENT.PY                -- by Dr. ZhuoQing 2020-06-03
#
# Note:
#   Get all the students name and ID from the text file.
#
#============================================================from headm import *
import hmwasub#------------------------------------------------------------
hmdir = tspstring2text('autodir')
hmfile = [os.path.join(hmdir, f) for f in os.listdir(hmdir) if f.find('.txt') >= 0]#printf(hmfile)for f in hmfile:hmwasub.addhwtextfile(f)tspmsgcopy()hmwasub.savealldata('autostatistic')printf("\a")#------------------------------------------------------------
#        END OF FILE : ALLSTUDENT.PY
#============================================================
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# HMWASUB.PY                   -- by Dr. ZhuoQing 2020-06-03
#
# Note:
#============================================================from headm import *#------------------------------------------------------------
idall = []
nameall = []
hwall = []#------------------------------------------------------------
def addidhw(id, name):global idall, nameall, hwallif idall.count(id) > 0:index = idall.index(id)hwall[index][-1] = 1else:idall.append(id)nameall.append(name)newhw = []if len(hwall) > 0:for i in range(len(hwall[0]) - 1):newhw.append(0)newhw.append(1)hwall.append(newhw)#------------------------------------------------------------
def addidhwall0():global hwallfor hw in hwall:hw.append(0)def nohomeworkstring(hwma):str = ''for id,h in enumerate(hwma):if h == 0:str = str + '[%d]'%(id+1)if len(str) == 0: str='NULL'return str#------------------------------------------------------------
def savealldata(filename):global idall, nameall, hwalltspsave(filename, id=idall, name=nameall, hw=hwall)printf('Total Students:%d'%len(idall))totalwork = len(hwall[0])for i, id in enumerate(idall):nostr = nohomeworkstring(hwall[i])printf('%s %s %d %s %s'%(id, nameall[i], sum(hwall[i]), nostr, str(hwall[i])))#------------------------------------------------------------
def addhwtextfile(filename):with open(filename, 'r', encoding='gbk' ) as f:addidhwall0()for l in (f.readlines()):l.rstrip('\n')ls = l.split()if ls[0] != '全体':continueaddidhw(ls[1], ls[2])#------------------------------------------------------------
#        END OF FILE : HMWASUB.PY
#============================================================

2020春季学期作业提交统计处理相关推荐

  1. 信号与系统期末考试2020春季学期试题准备

    00特殊情况说明 在2020年春季学期,由于受到Coronavirus-19的影响,考试采用网络考试的形式: 通过网络学堂分发试卷和收集答案: 考试通过腾讯会议进行监考过程: 考试时间6月13日下午2 ...

  2. 2020春季学期信号与系统课堂参与信息处理

    ■ 简介 这部分信息来自于学生通过公众号TSINGHUAZHUOQING参与信号与系统课程教学活动,部分内容可以参见博文" 上课玩手机 "中的介绍. 由于今年 Coronaviru ...

  3. 2020春季学期哈工大软件构造学习心得二

    前言 上一章主要讲了软件构造的结果形态以及如何是一个"好"的软件 这一章主要学习软件开发遵循着一个什么样的过程 - 软件生命周期与配置管理 From 0 to 1,from 1 t ...

  4. 2020春季学期哈工大软件构造学习心得一

    前言: 今年是特殊的一年,由于新冠病毒的爆发,导致我们无法正常开学,所以网上开课如期进行,其中软件构造是这学期我们要面临的巨大挑战. 准备工作: 上学期末得知本门课程需要学习Java语言进行编程,所以 ...

  5. 2020春季学期哈工大软件构造学习心得五

    面向对象的编程 面向对象的标准 "准备更改"和"为重用而设计"的泛型(泛型):应该可以用表示任意类型的形式泛型参数编写类. 继承:应该可以将一个类定义为继承自另 ...

  6. 2020春季学期哈工大软件构造学习心得四

    程序设计语言中的函数和方法 参数类型是否匹配,在静态类型检查阶段完成 返回值类型是否匹配,也在静态类型检查阶段完成 规约:交流编程 Spec给"供需双方"都确定了责任,在调用的时候 ...

  7. 2020春季学期哈工大软件构造学习心得三

    Abstract Data Type (ADT) and ObjectOriented Programming (OOP) 前言 前两章回答了:什么是"高质量的软件". 如何从不同 ...

  8. 信号与系统 2022 春季学期第一次作业-作业题目准备

    简 介: 关于作业的参考答案需要根据之前结果,再结合现在的修改进行补充. 关键词: 作业,信号与系统 #mermaid-svg-HSmAT7ir1Kl95O1z {font-family:" ...

  9. 大学计算机课作业新建文档,重庆大学2020年春季学期课程作业计算机组成原理.docx...

    重庆大学2020年春季学期课程作业计算机组成原理.docx 2020年春季学期课程作业计算机组成原理第1次 计算机组成原理 题号一二合计 已做/题量19 / 2020 / 2039 / 40 得分/分 ...

最新文章

  1. 进阶必备:CNN经典论文代码复现 | 附下载链接
  2. mybatis转义反斜杠_mybatis like 的坑
  3. rose框架学习总结
  4. 【文章】论文写作知识积累
  5. [云炬创业基础笔记]第七张创业资源测试14
  6. 在Myeclipse中没有部署jeesite项目,但是每次运行其他项目时,还是会加载jeesite项目...
  7. const的用法以及与define使用的区别
  8. java怎么用doss窗口_GitHub - doss128/symphony: 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台。...
  9. OSG 实现跟随节点的相机(转)
  10. 分布式系统概念与设计学习(01),本书概要与基础概念
  11. SQL注入语句(详细)
  12. QuickZIP V1.21 源码 【学习SharpZipLib的必看!】【以SharpZipLib为基础完成】【VB.Net】
  13. 硬盘sata供电不启动,必须用大4pin转sata的情况
  14. 隐私计算在普惠金融领域的应用研究
  15. python微信群发itchat
  16. 社区英雄榜:谁是真正的技术英雄?
  17. HTML5的基础认知 与 css的部分内容
  18. 科大讯飞语音SDK使用流程
  19. seo搜索引擎最佳化,10大网站排名关键因素
  20. 魔拉格头皮净养凝露,告别满头油腻,还原头发清新

热门文章

  1. 开源 java CMS - FreeCMS2.3会员注册
  2. memcached原理详述及配置
  3. 数据库之Schema设计
  4. LinuxC下获取UDP包中的路由目的IP地址和头标识目的地址
  5. linux性能调优原创翻译系列
  6. validator的Symbol Coverage没有100%
  7. Silve“.NET研究”rlight 游戏开发小技巧:传说中的透视跑马灯
  8. 每次hexo d部署后都要在github仓库上重新保存域名
  9. iOS唯一标示符引导
  10. JConsole/JvisualVM 远程连接失败处理