亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        電子校歷自動生成系統(tǒng)的設計與實現(xiàn)

        2023-08-11 07:16:54宋佳豪潘夢瑤
        現(xiàn)代計算機 2023年11期
        關(guān)鍵詞:序號學期工作

        劉 哲,宋佳豪,潘夢瑤

        (延安大學數(shù)學與計算機科學學院,延安 716000)

        0 引言

        高等學校各項工作的良好運轉(zhuǎn),離不開廣大教學管理人員的辛勤付出。然而面對教學工作過程中的復雜性、多樣性,大多數(shù)工作都是通過人工的方式去手動完成的。其中就包括了一部分內(nèi)容枯燥、重復率高,實際上又可以通過計算機程序自動完成的工作。教務人員每天都要花費大量的時間和精力去完成這些工作。因此,如果能夠通過計算機程序的方式,輔助完成這類工作,可以有效解決教學管理過程中存在的問題,提升教學管理水平[1-3]。而校歷文件的制定,是高校教學計劃有序執(zhí)行過程中必不可少的一環(huán)。如何能夠?qū)⑵渲兴N含的價值更加充分、高效地利用起來[4-6],具有非常重要的研究價值。

        1 實驗設計

        本次實驗使用計算機編程語言Python 3.11進行系統(tǒng)開發(fā),使用Python 標準庫Calendar 獲取日歷相關(guān)數(shù)據(jù),使用Python 的第三方庫xlwt將組織好的數(shù)據(jù)內(nèi)容寫入目標文件中,并對其進行排版。

        1.1 主要組件介紹

        Calendar 是Python 中與日歷信息相關(guān)的一個標準庫,該模塊提供了豐富的對年、月、日等數(shù)據(jù)進行操作的函數(shù),使用時無需安裝,可以直接通過import 語句導入。模塊主要包括三大類:Calendar、TextCalendar和HTMLCalendar。其中,Calendar是其它兩個類的基類,可以用來創(chuàng)建一個普通的日歷對象。TextCalendar 一般用來創(chuàng)建一個純文本的日歷對象,使用HTMLCalendar 生成HTML 格式的日歷對象。

        xlwt 是Python 中常見的用來生成Excel 類型文件的第三方工具包,使用時需要通過pip 命令安裝后才能導入,推薦通過鏡像源的方式進行安裝[7],表1 列出了一些質(zhì)量較高的Python 鏡像源。需要注意的是,xlwt主要用于將組織好的數(shù)據(jù)和相關(guān)的文本格式信息寫入新建的工作表文件中,不能直接編輯一個已經(jīng)存在的工作表文件。

        表1 常用的國內(nèi)鏡像站

        1.2 系統(tǒng)設計

        系統(tǒng)的基本生成步驟如圖1所示。

        圖1 系統(tǒng)流程

        (1)創(chuàng)建一個空白的Excel 文檔,等待數(shù)據(jù)寫入。

        (2)按學期中的月份進行遍歷。邏輯上,將當前學期的第一個月記為起始月start_month,將當前學期的最后一個月記為結(jié)束月end_month,使用函數(shù)range(start_month,end_month+1)遍歷訪問當前學期的月份。

        (3)添加工作表,初始化標題行。例如,2022—2023 學年第二學期的起始月是2 月,結(jié)束月是7 月。那么,需要按照從“2 月”到“7月”的順序和命名方式,在工作簿中依次創(chuàng)建每張工作表,用于存放對應的日歷數(shù)據(jù)。每次迭代只創(chuàng)建當前月的日歷工作表,并初始化工作表的列標題行,分別是周序號、一、二、……、六、日。其中,“周序號”一列下的數(shù)據(jù),取值范圍是教學執(zhí)行計劃中的第一周到最后一周的序號,依次遞增。

        (4)當前月日歷數(shù)據(jù)的獲取和整理。創(chuàng)建Calendar 日歷對象,通過調(diào)用函數(shù)monthdayscalendar(year,month),獲取當前月的日歷數(shù)據(jù),整理出相關(guān)的中間變量,等待后續(xù)程序的使用。

        (5)按周次進行遍歷。例如,當前迭代月是2023 年3 月,3 月1 日對應星期三,3 月31 日對應星期五。那么,3 月份在日歷中會對應5 行數(shù)據(jù),按周次遍歷應遍歷5次,其它月份的遍歷依此類推。

        (6)數(shù)據(jù)的寫入和格式化。將當前周次的日歷數(shù)據(jù),按照設定好的排版格式,寫入對應的單元格中。例如,2023年3月1日正處于開學后的第一周內(nèi)。那么,程序應該在對應列標題下的單元格中,寫入的數(shù)據(jù)依次是[‘第1 周’,‘’,‘’,‘1’,‘2’,‘3’,‘4’,‘5’]。

        (7)構(gòu)建剩余月份的日歷工作表。重復步驟(2)~(6)。

        2 難點與解決方案

        本部分選取了實驗過程中遇到的一些難點問題,給出解決方案,總結(jié)如下。

        問題一:如何讓日期出現(xiàn)在正確的列標題下。

        如何確定每個月的日期數(shù)據(jù),與列標題的對應關(guān)系。例如,如果當前月的第一天,對應的列標題是周三。那么,同一行中對應列標題是周一和周二的單元格,應該是沒有內(nèi)容的。

        通過查詢calendar模塊的官方文檔,以及不斷的測試、對比,最終挖掘出了模塊中的功能函數(shù)monthdayscalendar(year,month)。該函數(shù)通過傳遞實參年和月,能夠返回具有如下所示的日期格式數(shù)據(jù)。

        [[0,0,1,2,3,4,5],[6,…,12],[13,…,19],[20,…,26],[27,28,0,0,0,0,0]]

        示例中的數(shù)據(jù)是2023 年2 月的日歷數(shù)據(jù),其中的數(shù)字1~28 代表當前月中實際有的日期,0代表非當前月的日期數(shù)據(jù)??梢钥闯?,以周為計數(shù)單位,當前月的日歷數(shù)據(jù)(外層的大列表),共包含5個完整的周(內(nèi)層列表),即外層的大列表一共有5個列表類型的元素。而每個內(nèi)層列表中的元素,按順序依次對應周一、周二、……、周日。通過這種方式,就可以建立日期數(shù)據(jù)與列標題之間的映射關(guān)系。當將日期數(shù)據(jù)寫入工作表時,如果當前單元格對應的內(nèi)容是數(shù)字0,則跳過。

        問題二:教學周序號的確定。

        高等院校教學計劃的執(zhí)行、工作安排的制定都是以周為單位進行的。程序自動構(gòu)建時,如何正確地輸出當前周次對應的教學周序號。

        正常情況下的邏輯是,設定一個變量week_index代表周序號,將該變量的值初始化為1,并關(guān)聯(lián)到開學第一周的日歷數(shù)據(jù)。當每次輸出完一周的日歷數(shù)據(jù)時,讓變量week_index 的值加1,然后關(guān)聯(lián)第二周的日歷數(shù)據(jù),以后的周序號依此類推。如果某個月的最后一天是星期二,對應教學執(zhí)行計劃的第5周。那么下個月的第一天會是星期三。但是,當輸出下個月第一周的日歷數(shù)據(jù)時,不能將教學周的序號自動加1。因為當前月的最后一天與下個月的第一天,屬于同一個周。

        解決辦法是,當輸出每個月第一周的日歷數(shù)據(jù)時,判斷其中是否包含非當前月的日歷數(shù)據(jù),例如[0,0,1,2,3,4,5]。這種情況下,就認定教學周序號week_index的值不需要加1。

        問題三:Excel 文件的行高和列寬的設置問題。

        xlwt工具包的官方幫助文檔極少,開發(fā)的過程中相關(guān)功能的實現(xiàn)和函數(shù)的使用,主要來源于網(wǎng)絡上的教程。但行高和列寬的設置方法,經(jīng)過測試后均以失敗告終。最終,通過閱讀工具包的源代碼結(jié)合之前的測試,行高和列寬的設置代碼如表2所示。兩個乘號左邊的數(shù)字是基本尺寸單位,行高和列寬的設置,主要通過修改乘號右邊的數(shù)字調(diào)試后確定。

        表2 行高列寬的設置方法

        3 實驗結(jié)果與分析

        本次實驗主要從兩個方面對程序自動構(gòu)建的電子校歷文件進行驗證:①日期數(shù)據(jù)是否正確地顯示在對應的列標題下;②教學周的序號與日期數(shù)據(jù)的關(guān)聯(lián)是否正確。為此,調(diào)閱了2020—2021、2021—2022、2022—2023 三個學年的校歷文件進行對比。

        實驗結(jié)果表明:通過系統(tǒng)自動生成的不同學年、學期的電子校歷文件,與相應的紙質(zhì)校歷中的數(shù)據(jù)完全匹配,并且構(gòu)建過程不超過2秒。電子校歷文件能有效提升教務人員完成特定事務的工作效率,將教務人員從枯燥的行政工作中解放出來,增加幸福指數(shù)。其應用場景廣泛多樣,例如,每個學期開始時都必須要盡快制作的學期實驗教師值班安排表,就可以使用電子校歷文件的方式來快速完成,如圖2 所示。亦可以將電子校歷當作備忘錄來使用,記錄教學執(zhí)行計劃中相應節(jié)點的工作事項。需要時可以方便地查閱以前的工作事項記錄,制定新的教學安排。相比于傳統(tǒng)純文本形式的記錄,電子校歷更加美觀大方、一目了然,易于事后翻閱和文件存儲。

        圖2 電子校歷形式的值班安排表

        4 結(jié)語

        電子校歷自動生成系統(tǒng)在充分調(diào)研的基礎上,結(jié)合教學管理工作中的實際需求進行研究,具有較強的應用價值。在提升工作效率的同時,將教務人員從枯燥的行政工作中解放出來,減輕工作壓力,增加幸福指數(shù)。

        猜你喜歡
        序號學期工作
        新的學期 新的嘗試
        少先隊活動(2021年9期)2021-11-05 07:31:12
        期末沖刺高二上學期期末模擬卷
        不工作,爽飛了?
        桃之夭夭B(2017年8期)2017-10-25 14:53:20
        八年級(上學期)期末測試題(D)
        技術(shù)指標選股
        技術(shù)指標選股
        技術(shù)指標選股
        技術(shù)指標選股
        我要出艙工作
        再說還有工作忙
        兒童繪本(2015年6期)2015-05-25 17:55:54
        亚洲视频一区二区蜜桃| 国产桃色精品网站| av在线免费观看你懂的| 一本大道加勒比东京热| 精品国产三区在线观看| 免费人成视频网站在在线| 在线观看免费不卡网站| 久久精品色福利熟妇丰满人妻91| 人妻少妇偷人精品免费看| 影视av久久久噜噜噜噜噜三级| 香蕉久久福利院| 久久久男人天堂| 九九99久久精品在免费线97| 经典亚洲一区二区三区| 人妻少妇猛烈井进入中文字幕| 无码 人妻 在线 视频| a级毛片100部免费观看| 男人边吻奶边挵进去视频| 久久精品无码一区二区2020 | 亚洲一区丝袜美腿在线观看| 丰满人妻一区二区三区52| 日本国产精品久久一线| 一本一道vs无码中文字幕| 国产精品一区二区无线| 亚洲肥老太bbw中国熟女| 精品久久亚洲一级α| 日本熟女视频一区二区三区| 国产乱码精品一区二区三区久久| а√中文在线资源库| 日韩精品一区二区三区免费视频| 欧美成人久久久免费播放| 欧美国产伦久久久久久久| 国产黄色一区二区三区,| 香蕉久久一区二区不卡无毒影院| 久久久久久国产精品免费免费| 日韩成人无码一区二区三区| 国产精品入口蜜桃人妻| 亚洲国产中文字幕九色| 国产无套乱子伦精彩是白视频| 亚洲aⅴ在线无码播放毛片一线天 中国国语毛片免费观看视频 | 久久久精品人妻一区二区三区四区 |