邱紅麗 張舒雅
河南質(zhì)量工程職業(yè)學(xué)院 河南 平頂山 467000
隨著教育信息化的發(fā)展,辦公自動化也得到了越來越廣泛的應(yīng)用,同時也改變了人們的生活、工作和學(xué)習(xí)方式。特別是近幾年計算機專業(yè)的火熱發(fā)展,我們學(xué)院日益壯大,隨著學(xué)生規(guī)模的大幅增加,以及課程、教師、學(xué)生、場地及時間等繁雜的數(shù)據(jù)關(guān)系,考場編排問題也變得越來越復(fù)雜,使得這項工作耗費了大量的人力。因此,急需一個簡單實用的排考場系統(tǒng),來解決這個煩瑣復(fù)雜的工作,來提供工作效率。
Python是目前公認的全球5大流行語言之一,從云計算、大數(shù)據(jù)到人工智能,Python無處不在,通過對庫的引用,能夠?qū)崿F(xiàn)對不同領(lǐng)域業(yè)務(wù)的開發(fā)。它采用極簡主義設(shè)計思想,語法簡單優(yōu)雅,學(xué)習(xí)簡單、上手快,不需要很復(fù)雜的代碼和邏輯,即可實現(xiàn)強大的功能!并且,它編寫的代碼也具有夸平臺的特點,在不同平臺上運行時,幾乎不需要做較大的改動。它不但可以進行web開發(fā)、數(shù)據(jù)采集、數(shù)據(jù)分析與可視化,還可以進行界面設(shè)計,開發(fā)出C/S架構(gòu)的應(yīng)用程序。
本系統(tǒng)是在分析了我們學(xué)院排考場的需求而開發(fā)的,采用C/S架構(gòu),使用Pyqt5插件進行界面設(shè)計,使用Python語言來讀寫excel,界面簡單,非常實用。
該智能考場編排系統(tǒng)是一款使用Python語言開發(fā)的桌面版應(yīng)用程序,能夠幫助考務(wù)人員快速生成考試相關(guān)文檔,有效地減少考務(wù)工作人員因考試科目多、單科參加考試人員不定、考場人數(shù)不定、考場內(nèi)科目不定等多種不確定因素增加的工作量。
本系統(tǒng)根據(jù)我們學(xué)院自身的實際情況出發(fā),可以實現(xiàn)以下功能:①針對考試考務(wù)工作人員:可以編排出考試總體安排表,考務(wù)工作人員可以明確本次考試共安排多少場,每場考試有多少個考場和具體科目,每個科目參加考試的人數(shù),每個考場的考試科目和人數(shù)等;②針對考場:可以生成考場座次表,顯示每個考場詳細的考生名單,每個考生的考試科目,考試開始與結(jié)束時間等;③針對班級:可以生成全班參加考試學(xué)生的考試科目和對應(yīng)考號,及每個科目考試的起止時間等。
本系統(tǒng)已經(jīng)在我院兩個二級學(xué)院使用,系統(tǒng)界面可用性強、操作方便,達到學(xué)校師生和管理人員的要求,克服了手工編排的不足,提高了考務(wù)工作效率。
PyCharm是一種Python IDE(Integrated Development Environment,集成開發(fā)環(huán)境),帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,比如調(diào)試、語法高亮、項目管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試、版本控制,是專業(yè)開發(fā)人員和剛起步人員使用的有力工具。
Anaconda是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學(xué)包及其依賴項,可以便捷獲取包且對包能夠進行管理。所以,在使用PyCharm開發(fā)工具時,可以和Anaconda一起搭配使用,方便插件的安裝和管理。PyQt5是基于Digia公司的圖形程式框架Qt5的python接口,它由一組python模塊構(gòu)成。PyQt5擁有超過620個類和6000函數(shù)及方法,可以運行于多個平臺,包括:Unix,Windows, and Mac OS。anaconda里面是含有PyQt,在環(huán)境里搜索之后,可以看到,相關(guān)工具并沒有全部安裝,全部選中之后,安裝即可;如果沒有安裝anaconda,可以在PyCharm平臺中搜索安裝。
本系統(tǒng)就是基于PyCharm開發(fā)平臺,使用Python開發(fā)語言,主要實現(xiàn)了Python 使用xlsxwriter包對Excel文件中數(shù)據(jù)的讀寫功能。
根據(jù)需求,本系統(tǒng)可以在短時間內(nèi)編排出以下內(nèi)容:①考試總體安排表,可以列出本次考試的場次,每場次的考場數(shù)和科目數(shù),單科參加考試人數(shù),單個考場的考試科目和人數(shù)等;②考場座次,本考場座號與對應(yīng)的詳細考生名單,每個考生的考試科目,考試開始與結(jié)束時間等;③班級學(xué)生考號,該班的考試科目及每個科目的開考時間,每個學(xué)生的考場座號,考場位置等。
使用本系統(tǒng)需要提供兩個excel文件:學(xué)生考試名單和考場分布表,最后輸出兩個excel文件:考場安排表和班級座次表。輸入的excel表格都有預(yù)先規(guī)定的模板,所以,在使用的時候要嚴格按照提供的模板輸入自己的數(shù)據(jù)。其中學(xué)生考試名單至少包含四個字段:學(xué)號、姓名、班級、課程名稱;考場分布表至少包含四個字段:考場號、教室、安排人數(shù)、考場位置。這些字段順序可以改變,但是名字不能改變。
3.2.1 導(dǎo)入學(xué)生考試名單。學(xué)生考試名單至少包含四個字段:學(xué)號、姓名、班級和課程名稱。由于每個同學(xué)需要參加考試的科目不止1門,名單導(dǎo)入后,系統(tǒng)會自動識別出考試科目,并把這些科目以列表的形式顯示在界面上,最后考務(wù)人員可以選擇根據(jù)課程分別導(dǎo)出考場安排表和班級座次表。
# 讀入學(xué)生名單
self.df = pd.DataFrame(pd.read_excel(fileName,0,converters = {u’學(xué)號’:str}));
self.df = self.df.loc[:,[‘學(xué)號’,’姓名’,’班級’,’課程名稱’]];
# 數(shù)據(jù)寫入學(xué)生table
self.writeToTableWidget_old(self.df);
利用單因素檢驗分析不同年級研究生對于初級知識、中級知識、高級知識、初級技能、中級技能、高級技能、態(tài)度的差異情況。經(jīng)過分析,不同年級研究生對于初級知識、中級知識、高級知識、初級技能、中級技能、高級技能、態(tài)度因素的P值均大于0.05,沒有顯著性差異。
# 課程寫入課程列表treeWidget_subject
self.addNodetoTreeWidget_subject(self.treeWidget_subject,s.index.tolist());
3.2.2 導(dǎo)入考場分布表。考場分布表至少包含四個字段:考場號、教室、安排人數(shù)、考場位置。導(dǎo)入之后,可以看到考場號,教室位置,安排人數(shù),以及安排的次序。然后,選擇我們需要的考場,可以選擇“全選”,然后可以看到總共能夠安排多少人,如果我們需要安排的學(xué)生數(shù)量較少,可以根據(jù)情況減少考場數(shù)量,更改某個考場安排的人數(shù),或者更改考場次序,從而保證我們的人數(shù)和考場相匹配。
# 讀入考場
self.dfc = pd.DataFrame(pd.read_excel(fileName, 0,converters = {u’考場號’:str}));
self.dfc = self.dfc.loc[:, [‘考場號’, ‘教室’, ‘安排人數(shù)’, ‘考場位置’]];
# 數(shù)據(jù)寫入考場table
self.writeToTableWidget_room(self.dfc);
3.2.3 導(dǎo)出考場安排表。考場安排表是學(xué)生考試的時候簽到用的。包括院系名稱、考試時間、考場、學(xué)號、姓名、班級、考試科目、簽到及備注。在導(dǎo)出之前,要先選擇學(xué)年學(xué)期、考試類型、具體考試時間。點擊“導(dǎo)出考場安排表”之后,需要輸入保存的文件名及合適的存儲位置,供考試考務(wù)工作人員和考場內(nèi)使用。
導(dǎo)出結(jié)果如圖1所示:

圖1 考場安排表
3.2.4 導(dǎo)出班級座次表。班級座次表用于用班級顯示學(xué)生的考試信息,一個班級一個工作表,包含了學(xué)院名稱、班級名稱以及這個班每個學(xué)生的學(xué)號、姓名以及考場座次。點擊“導(dǎo)出班級座次表”,進行保存,在導(dǎo)出的考場座次表中,點擊各個工作表,各個班級輔導(dǎo)員和學(xué)生查看詳細的考場座次信息。導(dǎo)出結(jié)果如圖2所示:

圖2 班級座次表
3.2.5 系統(tǒng)運行。該系統(tǒng)最終打包成一個exe文件,需要在64位操作系統(tǒng)上運行。當(dāng)我們收集整理好考生名單表和考場分布表之后,就可以雙擊index.exe 文件運行程序。我們首先要導(dǎo)入“考場安排表”,然后再導(dǎo)入學(xué)生表,界面上會根據(jù)導(dǎo)入學(xué)生的考試科目,在界面上顯示考試科目列表。最后考務(wù)人員,選擇要考試的科目,以及要安排的考場和時間來導(dǎo)出最后需要的excel表。該系統(tǒng),可以在單科考試人數(shù)不定、考場人數(shù)不定、單考場內(nèi)科目不定等多種不確定因素存在的情況下,較快地編排出考試所需要的安排表格,并可實現(xiàn)Excel格式的導(dǎo)出;可以實現(xiàn)隨時刪減安排的考試科目、參加考試的班級及學(xué)生名單,指定考場編排人數(shù),多科目合并考場編排等功能。主界面如下圖所示:

圖3 主界面
該系統(tǒng)小巧便捷,對平臺系統(tǒng)的軟、硬件要求不高,使用方便,便于“移植”,可適用于學(xué)校,或其他有考試安排工作的單位、部門或團體,目前已經(jīng)在我院使用多年。但是,由于時間和人力方面的限制,本系統(tǒng)在部分功能上還需進一步完善,比如基礎(chǔ)數(shù)據(jù)表(考場安排表和考生名單表)的獲取還需要人工輔助,智能安排監(jiān)考老師功能的完善,隨時零星添加考試科目、參加考試的班級及參加考試學(xué)生名單等情況,在以后使用的過程中,會根據(jù)使用情況,進行一一完善。