馬艷平 宋艷 路致遠








摘要:在Excel函數學習和使用中,普遍存在函數種類繁多、分類復雜、功能不清諸多問題,既容易出現混淆,又不能使學員迅速完成任務。鑒于這樣問題的存在,該文設計了基于Python語言下函數學習系統來解決上述問題,為學員提供一種簡單、便捷、科學的學習平臺。
關鍵詞:Python;Excel函數;學習系統
中圖分類號:TP317? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)06-0060-03
開放科學(資源服務)標識碼(OSID):
1 概述
20世紀40年代初,深度學習思維已經成為高端人士的學習思維模式,但普及這一學習思維模式始終未能實現,隨著信息化時代的到來,人們對學習效率和方法有了更高的要求,特別是程序設計語言備受關注當下,迫切需要通過基于程序設計的方式來改變這種狀況,使得學習簡便化、人性化。Excel是Office 辦公自動化主要軟件之一,主要功能是處理電子表格,尤其對表格中各種復雜的數據處理、統計分析和輔助決策等功能,受到大家的青睞,因而廣泛地應用于管理、統計、財經、金融等眾多領域[1]。對于高職院校學員而言,要想實現上述功能,發揮Excel的數據處理強大優勢,函數的學習是基礎任務,也是Excel學習的重點和難點。如何讓學員在學習Excel函數過程中迅速掌握函數使用方法,提高學習效率,是教育工作者一直在研究的問題。其中Excel函數(2010版)多達411個函數,分為12類別,主要有財務、統計、日期與時間等類型。詳見如表1所示。
1) 開發的語言Python作為一種先進的計算機語言,具有簡潔、易讀、可擴展等特性[2],被各個企業廣泛應用,同時Phthon 具有豐富且強大的庫,它最大的優點是接近自然語言,能將作者的思維逐條實踐檢驗,然后在IDLE平臺將若干條語言整合成為一個子段,完成從學習過渡到實踐。由于擴展性好,可將其他語言制作的各種模塊進行聯合,如 Java、C++ 等計算機語言,同時也是新手一個低門檻低成本的學習語言的模式。Python 編程應用最常見的一種方式就是,第一步用 Python 形成模塊化程序,然后用更合適的其他語言對其中的內容進行填寫,最后封裝,非常適合做一些簡單的短時間的小程序系統開發[3]。
2) 開發平臺采用Windows7+ Python3.6,Python 作為腳本語言,運用廣泛,無論是基礎的程序處理、數據爬蟲,還是 Web 開發以及游戲設計等[4],是一款開發效率很高的軟件。因此,本研究基于高職學生學習Excel函數需求進行功能設計,實現以需求為標的導向的學習,提高學習效率。
2 學習系統總體構想和設計
本系統采用了C/S架構模式,結合Python的環境下進行開發,主要針對學習Excel函數時所遇問題進行設計功能,比如:利用功能找函數、背函數、糾錯函數等功能。
1) C/S體系結構
C/S 架構基于兩層分布式結構[5],服務器負責數據的管理,客戶機負責完成與用戶的交互任務。第一層服務器負責客戶機的響應,接受請求,以數據庫的形式反饋給客戶端,給客戶端提供數據管理、更新,實現數據庫查詢、修改、存儲等功能并傳給客戶端。第二層客戶機主要負責向服務器端提出訴求,請問題反饋給服務器層,并等待處理結果。C/S體系結構如圖1所示。
2) 系統功能簡介
本系統的設計是為了提高學員學習函數的效率,有效的利用函數解決實際問題的需求出發,實現了學習的數字化、系統化及網絡化的目標,該系統功能模塊結構設計如圖2所示。
主函數中將“順序函數字典”轉換為二維列表,其中每個元素是一個的列表,包括函數名、功能及狀態標記,初始默認的狀態為“3”。依據用戶輸入的數字進行功能選擇。
①函數F功能。該功能用戶通過輸入端輸入函數后,系統根據函數名稱在列表中負責找出該函數的功能,如有則輸出函數、功能及所處的狀態標記,如沒有則顯示“無此函數”,返回主界面,讓用戶重新輸入。
②功能F函數。該功能用戶通過輸入端輸入需求(關鍵詞),系統根據輸入的關鍵詞在中找出對應的函數,如有該功能函數,則輸出函數、功能及相應的狀態參數;如沒找到,則顯示查無此功能,返回主界面,讓用戶重新輸入。
③記函數。用戶輸入記憶單詞的數量,系統在自動在列表中檢索狀態為“3”的函數,按順序顯示提供給用戶記憶,同時在字典中的函數狀態修改為“4”,表示該函數序列已被記憶。
④背函數。系統顯示的功能,待用戶輸入對應的函數,并且系統自動做出判斷,得出“正確”或“錯誤”的提示,按照用戶輸入的數量,系統提供N個函數,供背誦,并且狀態記為2,背誦結束,系統顯示正確率。
⑤糾錯。利用列表,將狀態為“2”的函數按順序依次顯示出來,用戶輸入對應的功能,如果和列表中第二元素內容一致,而顯示“正確”,否則顯示“錯誤”,可連續糾錯,退出時顯示本次糾錯率。
⑥退出。退出學習系統,返回Python系統。
3 系統功能設計及實施
1) 系統功能設計
該系統共有五個子程序,分別為函數F功能、功能F函數、記函數、背誦、糾錯及退出系統,根據用戶輸入信息不同,選擇功能不能。首先將字典數據轉換為二維列表數據,其中列表元素是由函數、功能、狀態參數組成的一維列表,輸入ch的值,開始調用子函數,具體邏輯設計:
①當ch=“1”時,系統調用“yfz”函數,提示用戶輸入函數,系統依據輸入函數在列表中去查找對應的選項,當列表中的第一項內容與輸入函數一致時,系統顯示出函數及對應的功能,若列表中沒有一致的函數時,系統顯示“查無此函數”,返回主函數重新錄入ch;
②當ch=“2”時,系統調用“zfy”函數,提示輸入功能關鍵詞,依據關鍵詞,在列表中查找,當列表中的第二項內容與輸入關鍵詞一致時,系統顯示與關鍵詞相關的所有函數及對應的功能,并對查找的結果顯示統計的數據,用戶依據實際需求進行選擇操作,若列表中沒有符合的關鍵詞時,系統顯示“查無此功能”,返回主函數重新錄入ch;
③當ch=“3”時,系統調用“jhs”子函數,確定記單詞n個,系統在列表中查找狀態為“3”的數據,按照用戶輸入的n,顯示n個元素中第一項、第二項內容,并且系統修改狀態“3”為“4”,用戶對函數及功能進行背誦,背誦完成返回主函數,提示用戶重新錄入ch;
④當ch=“4”時,系統調用“bhs”子函數,確定背誦數n個在列表中查找狀態“4”的數據,按順序顯示功能,要求用戶輸入函數與其對應,若用戶輸入的函數與功能在列表中的功能對應的函數一致時,系統顯示“正確”,并且將狀態參數改為“1”,否則系統顯示“錯誤”,狀態參數改為“2”,并且顯示出正確的答案。背誦結束后,系統統計出當前背誦的正確率,返回主函數重新錄入ch;
⑤當ch=“5”時,系統調用“jchs”子函數,系統對狀態參數“2”內容進行糾錯,糾錯的次數為用戶輸入n次。系統顯示功能,用戶輸入函數與其對應,若與列表中功能對應的函數一致,則顯示正確率,將狀態參數改為“1”,若與列表中功能對應的函數不一致,則顯示正確率,將狀態參數不變,每交互一次系統重新計算正確率,返回主函數重新錄入ch;
⑥當ch=“6”時,系統調用“tc”子函數,退出系統返回。
學習系統流程如圖3所示。
2) 系統功能實施
實施部分代碼如下所示。其中知識來源于[6]
#Excel函數學習系統
#銅職院基礎部信息教研室
def jchs():
i=0
j=0
zq=0
m=1
k=2
#判斷輸入函數與系統提供功能是否對應#
while (i<len(list1) and j<n):
if list1[i][k]=="2":
sr=input(list1[i][m])
if sr==list1[i][0]:
list1[i][k]="1"
print("正確")
zq=zq+1
else:
list1[i][k]="2"
print("錯誤")
print("正確答案",list1[i][0])
#主函數#
list1=[]
f1=open("順序函數本.txt","r")
for line in f1:
lb=line.strip('\n').split( )
list1.append(lb)
f1.close()
n=eval(input("輸入函數個數"))
ch=""
while(ch!="6"):
print("歡迎使用excel函數學習系統",'\n')
ch=input("請選擇? 1.函數→功能 2.功能→函數 3.記函數 4.背函數 5.糾錯 6.退出\n")
if ch=="1":
yfz()
elif ch=="2":
zfy()
elif ch=="3":
jhs()
elif ch=="4":
bhs()
elif ch=="5":
jchs()
elif ch=="6":
tc()
3) 用戶學習及統計的實施過程
系統的設計實現最終要落實在實施效果上,實施效果是檢驗設計合理性和實用性最主要的手段。由于平臺的使用者是Excel函數學習和使用的用戶,故而設計體現了以用戶為主體、系統為導向,遵循“在工作中學習,在學習中工作”的理念,本著界面人性化、菜單條理化、思路清晰化思想完成了設計,現舉例說明用戶實施過程。
①函數F功能
示例:當用戶輸入ch值為1時,調用“yfz”子函數,提示用戶“請輸入一個函數”,此時用戶想要了解vlookup()函數詳細功能解釋,第一次輸入函數名lookup()后,系統提示“沒有此函數”,表示函數庫中不存在此函數,如圖4所示。當確認輸入函數有誤再重新輸入函數名vlookup()后,系統顯示出該函數及對應的功能,如圖5所示。
②糾錯
示例:當用戶輸入ch值為5時,調用“jchs”子函數,首先系統顯示當前狀態參數為“2”的函數功能讓用戶進行依次糾錯,糾錯次數由用戶輸入確定。如果輸入函數正確,則將顯示“正確”,計算出目前累計正確率百分之值,且將狀態參數修改為“1”,如果輸入函數錯誤,顯示“錯誤”,狀態參數值不變,計算出正確率百分之值,糾錯次數減1,直至糾錯次數為0,則返回主界面。操作過程如圖6所示。
系統執行過后,字典中參數狀態發生了變化。如圖7所示。
4 結束語
總的來說,基于 Python語言的信息查詢系統會具有一個非常好的前景,隨著系統發展平臺的延伸,系統的使用會更加廣泛。本文系統的設計,為信息化教學提供了便利,主要表現在:1)填補了在信息化平臺上Excel函數學習過程中的空白,是一個很有效的學習平臺;2)為教學提供了便利條件,學習與教學實現了規范化管理,通過字典能有效的統計出學習情況;3)為類似的字典、庫資源學習奠定了更好的平臺基礎。
參考文獻:
[1] 殷文俊.Excel函數講授方法芻議[J].電腦知識與技術,2020,16(6):77-78,81.
[2] 楊東寬,趙曉俠,楊微微,等.Python在線考試系統的分析與設計[J].電腦知識與技術,2021,17(11):71-73.
[3] 高敏.基于Python的計算機等級考試查詢系統[J].中國新通信,2021,23(3):113-114.
[4] 葛書榮.基于Python語言編程特點及應用之探討[J].網絡安全技術與應用,2021(10):37-38.
[5] 朱建平.基于C/S和B/S混合架構的無線發射臺自動化綜合監控系統設計與實現[J].電視技術,2021,45(11):133-136.
[6] 李東方,文欣秀,張向東.Python程序設計基礎[M].2版.北京:電子工業出版社,2020.
【通聯編輯:謝媛媛】