


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
使用Python制作隨機(jī)提問程序隨著新課改的進(jìn)一步深化,筆者所在地區(qū)的中小學(xué)信息技術(shù)教材增加了Python程序設(shè)計(jì)語言章節(jié),Python是一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言,能夠把用其他語言制作的各種模塊很輕松地聯(lián)結(jié)在一起。Python語言簡(jiǎn)明,邏輯清晰,適合中小學(xué)階段的學(xué)生學(xué)習(xí)。在常規(guī)情況下,使用Python編制好的程序代碼是命令行界面執(zhí)行方式;tkinter是Python中制作GUI界面的入門模塊,語法簡(jiǎn)單,可以快速上手制作學(xué)習(xí)。這里,筆者利用tkinter模塊制作一個(gè)簡(jiǎn)單的隨機(jī)點(diǎn)名或者提問的小程序,在課堂上,教師可以使用該程序?qū)Ρ景嗉?jí)內(nèi)的學(xué)生進(jìn)行隨機(jī)點(diǎn)名或提問,進(jìn)而活躍課堂氣氛?!窆δ芊治隹梢暬幊淌且粋€(gè)系統(tǒng)工程,要遵循“功能—界面—代碼”的基本設(shè)計(jì)順序,核心的內(nèi)容是數(shù)據(jù)的組織、變化與流轉(zhuǎn)。隨機(jī)點(diǎn)名小程序要實(shí)現(xiàn)的功能是,在不同的班級(jí)中,輸入班級(jí)號(hào)然后點(diǎn)擊按鈕,隨機(jī)顯示出該班級(jí)中某一名學(xué)生的姓名,再次點(diǎn)擊按鈕,隨機(jī)顯示另一名學(xué)生的姓名。在本案例中,原始數(shù)據(jù)保存在文本文件中,通過open()函數(shù)讀取到內(nèi)存的變量列表中,再按照班級(jí)進(jìn)行字典的鍵值對(duì)映射,獲取的班級(jí)號(hào)作為字典的鍵,獲取的班級(jí)名單作為字典中班級(jí)映射的值。“開始”按鈕的功能就是從字典的值中隨機(jī)取出一個(gè)學(xué)生姓名,在窗體上顯示出來。因此,筆者計(jì)劃使用兩個(gè)模塊,分別是tkinter和rendom,tkinter模塊用于制作GUI窗體;random模塊用來隨機(jī)抽取列表中的元素。規(guī)劃三個(gè)窗體控件,輸入班級(jí)號(hào),顯示抽取的姓名和開始抽取的按鈕?!褚肽KPython可以通過引用或者調(diào)用模塊,實(shí)現(xiàn)使用模塊中的函數(shù)和功能。下面,簡(jiǎn)要介紹一下模塊的調(diào)用方法(如下表)。在調(diào)用模塊的方式中,筆者推薦使用第二種方式,調(diào)用模塊并且使用別名和程序中的其他函數(shù)進(jìn)行區(qū)分,這樣程序代碼看起來更清晰,易讀性更強(qiáng)。調(diào)用模塊的代碼如圖1所示。●制作窗體在tkinter模塊中需要使用Tk()函數(shù),生成GUI窗體并命名為ROOT。常見的窗體包含的部件有標(biāo)題、邊框等,且需要使用主消息循環(huán)模式設(shè)置窗體始終顯示在屏幕。設(shè)置窗口的標(biāo)題為“隨機(jī)提問”,窗口的大小為300×200像素,窗口的邊框不可調(diào)。包含的代碼如下頁圖2所示?!裉砑涌丶诳梢暬某绦蛑校糜谌藱C(jī)交互的部分通常稱之為窗口或控件,在tkinter中具備基本的常用控件,用于制作可視化的小程序。根據(jù)程序的功能分析,筆者計(jì)劃添加文本標(biāo)簽(Label)——分別用于在窗體上顯示提示文字、隨機(jī)抽取的結(jié)果,文本框(Entry)——用于輸入班級(jí)號(hào),按鈕(Button)——用于開始隨機(jī)抽取姓名,將其作為程序的主要輸入輸出功能部分。包含的代碼如圖3所示??丶砑油瓿桑碏5鍵查看界面運(yùn)行效果,如圖4所示?!穹治龉δ艹绦虻暮诵牟糠质菙?shù)據(jù)的組織、變化和流轉(zhuǎn),這里要制作的程序就是要讀取文本文件中的數(shù)據(jù),進(jìn)行遍歷轉(zhuǎn)為列表,再把列表中的元素按照班級(jí)映射為字典,并從文本框中獲取班級(jí)號(hào),從字典中獲取該班級(jí)號(hào)對(duì)應(yīng)的列表,再隨機(jī)抽取該列表中的某個(gè)元素,顯示到文本標(biāo)簽上。功能分析:文本文件的內(nèi)部格式如圖5所示,班級(jí)和姓名使用一個(gè)制表符間隔,常用信息可以先從Excel復(fù)制到文本文件,接著在Python中使用open()函數(shù)打開文本文件,使用readlines將其全部讀取為一個(gè)列表,并遍歷該列表,替換其中每個(gè)元素尾部的回車符號(hào),進(jìn)而轉(zhuǎn)換為子列表,讀取其中的第一個(gè)元素增加到字典,第二個(gè)元素作為該鍵的值保存到字典中。流程圖如圖6所示,自定義函數(shù)代碼如下頁圖7所示。需要注意的是,x.get()用于獲取文本框中的數(shù)據(jù),x.set()用于設(shè)置文本標(biāo)簽的值,x.choice()用于隨機(jī)從列表中獲取一個(gè)元素?!裉砑哟a數(shù)據(jù)流分析過程為:首先用戶在文本框中輸入班級(jí)數(shù)據(jù),點(diǎn)擊“開始”按鈕,根據(jù)接收到的數(shù)據(jù),從字典中獲取指定鍵映射的值,并從值中隨機(jī)抽取一個(gè)元素,傳遞到文本標(biāo)簽并顯示,此時(shí)文本框和文本標(biāo)簽中的文本要以變量的形式顯示,“開始”按鈕控件調(diào)用自定義函數(shù)實(shí)現(xiàn)以上功能。文本框代碼如圖8所示。文本標(biāo)簽代碼如圖9所示。開始按鈕代碼如圖10所示。程序最終運(yùn)行界面及效果如圖11所示。總之,通過簡(jiǎn)單的隨機(jī)點(diǎn)名小程序的制作,讓學(xué)生體會(huì)到GUI界面
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年安徽省蚌埠市鎮(zhèn)縣第二中學(xué)高一上學(xué)期12月月考化學(xué)試卷
- 2025年P(guān)ET鐳射素面膜行業(yè)深度研究分析報(bào)告-20241226-181017
- 2025年意大利層皮行業(yè)深度研究分析報(bào)告
- 乘法、除法(二)3、6、9的乘法之間的關(guān)系(教學(xué)設(shè)計(jì))-2024-2025學(xué)年滬教版二年級(jí)數(shù)學(xué)上冊(cè)
- 轉(zhuǎn)讓新疆餐廳合同范本
- 2025年度房地產(chǎn)項(xiàng)目招投標(biāo)代理合同-@-5
- 2025年雙速自控調(diào)漿桶項(xiàng)目投資可行性研究分析報(bào)告
- 西瓜銷售合同范本
- 2025年度原料藥生產(chǎn)原料采購與庫存管理合同
- 2025版美容院投資合作協(xié)議書標(biāo)準(zhǔn)范本
- 化工裝置管道設(shè)置緊急切斷閥的依據(jù)規(guī)范(一)
- (高清版)DZT 0284-2015 地質(zhì)災(zāi)害排查規(guī)范
- 七十歲老人三力測(cè)試題庫答案
- 實(shí)驗(yàn)室儀器借用登記表
- 深圳職業(yè)技術(shù)學(xué)院申報(bào)國家示范院校項(xiàng)目匯報(bào)材料Pow
- 認(rèn)識(shí)危險(xiǎn)(小班安全第一課)-圖文
- 2024年國家基本公衛(wèi)-老年人健康管理-考試復(fù)習(xí)題庫(含答案)
- 第三講:虹吸管及水泵的水力計(jì)算
- 網(wǎng)絡(luò)系統(tǒng)集成(第二版) 課件第一章 網(wǎng)絡(luò)系統(tǒng)集成緒論
- 真菌性角膜炎的護(hù)理
- 單肺通氣與肺保護(hù)通氣策略護(hù)理課件
評(píng)論
0/150
提交評(píng)論