版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
課程基本情況課程名稱學時數(shù)授課班級考核方式Python程序設計2筆試+機試課程目標:本課程主要培養(yǎng)學生的編程素質(zhì),通過“教、學、做”一體化教學,使學生掌握程序設計的基本方法并逐步形成正確的程序設計思想,能夠熟練地使用Python進行程序設計并具備初步調(diào)試程序的能力,為后續(xù)課程及其他程序設計課程的學習和應用打下基礎。通過本課程的學習,使學生逐步建立和掌握結(jié)構(gòu)化程序設計的思想方法,具有分析問題和解決問題的能力,能夠使用Python編寫應用程序解決實際問題,培養(yǎng)學生細致縝密的工作態(tài)度和團結(jié)協(xié)作的良好品質(zhì)。教學方式:□理論□實踐理實一體□其他課程重點、難點:重點:1.掌握Python程序的結(jié)構(gòu)、函數(shù)的結(jié)構(gòu)和程序開發(fā)過程;2.能夠?qū)嶋H問題中的數(shù)據(jù)進行描述和操作;3.掌握算法的特性和程序的三種基本結(jié)構(gòu),能夠使用流程圖或N-S圖來描述算法;4.熟練使用順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)編寫程序,解決實際問題;5.能夠熟練的使用函數(shù)編寫程序,掌握函數(shù)的定義、聲明、調(diào)用及參數(shù)的傳遞方式;6.能夠使用列表、字典、元組編寫程序,解決排序、查找等實際問題;7.掌握Python中常用的字符串、列表、元組、字典等數(shù)據(jù)類型;8.掌握面向?qū)ο蟮某绦蛟O計、類屬性與實例屬性、類方法與實例方法、構(gòu)造函數(shù)與析構(gòu)函數(shù)、派生于繼承,能利用面向?qū)ο蟮姆椒ň帉憫贸绦颍鉀Q較復雜的實際問題;9.掌握文件的讀/寫操作,能使用文件對數(shù)據(jù)進行處理,解決批量輸入輸出的實際問題,掌握文本編碼。難點:1.算法的特性和程序的三種基本結(jié)構(gòu);2.函數(shù)的定義、聲明、調(diào)用及參數(shù)的傳遞方式;3.Python中常用的字符串、列表、元組、字典等數(shù)據(jù)類型;4.面向?qū)ο蟮某绦蛟O計、類屬性與實例屬性、類方法與實例方法;5.文件的讀/寫操作、文本編碼。使用教材是否與課程大綱一致:是□否如“否”,列出本課程擬采用教材信息(名稱、出版社、主編)參考書目:1.《Python程序設計》,王小寧,清華大學出版社,2024
教案1授課單元第1章走進Python編程授課形式教學做一體化授課學時4授課地點授課對象授課班級一、教材分析教學內(nèi)容第1章Python程序基礎教學標準《Python程序設計》課程標準參考教材《Python程序設計》王小寧二、學情分析學生現(xiàn)在已經(jīng)學過信息技術基礎,有一定的計算機硬件與軟件基礎。三、教學目標知識目標了解Python的發(fā)展歷史及特點掌握Python的安裝;掌握PyCharm開發(fā)工具的安裝與使用。技能目標會安裝Python和PyCharm等軟件;會寫簡單的編程語句;情感與思政目標具有規(guī)范的企業(yè)編程風格和習慣、良好的排查程序錯誤的能力;具有良好的分析問題和解決問題的能力、溝通和協(xié)作和學習能力;熟悉課程中涉及到的專業(yè)詞匯。四、教學重難點教學重點Python安裝、Pycharm安裝教學難點Python環(huán)境配置五、教學方法教法講授法、演示法學法實驗法六、教學資源與手段教學資源素材庫、實訓指導書教學手段教學做一體化七、教學流程(一)導入Python是什么?中文名字是“蟒蛇”。它是一種跨平臺的計算機程序設計語言,提供了高效的高級數(shù)據(jù)結(jié)構(gòu),還能簡單有效地面向?qū)ο缶幊獭J且环N面向?qū)ο蟮膭討B(tài)類型語言,最初被設計用于編寫自動化腳本,隨著版本的不斷更新和語言新功能的添加,越來越多被用于獨立的、大型項目的開發(fā)。1.課程介紹這是一門Python程序設計的入門課程,主要包含基本的Python程序語法、程序結(jié)構(gòu)、函數(shù)、列表、字典、面向?qū)ο?、文件操作,還有數(shù)據(jù)庫、網(wǎng)絡操作。課程由淺入深、循序漸進,案例豐富。參考教材目錄。2.課程定位本課程是XX專業(yè)的專業(yè)基礎/核心課,培養(yǎng)學生結(jié)構(gòu)化程序設計能力。本課程主要培養(yǎng)學生的編程素質(zhì),通過“教、學、做”一體化教學,使學生掌握程序設計的基本方法并逐步形成正確的程序設計思想,能夠熟練地使用Python進行程序設計并具備初步調(diào)試程序的能力,為后續(xù)課程及其他程序設計課程的學習和應用打下基礎。3.課程目標通過本課程的學習,逐步建立和掌握結(jié)構(gòu)化程序設計的思想方法,具有分析問題和解決問題的能力,能夠使用Python編寫應用程序解決實際問題,培養(yǎng)學生細致縝密的工作態(tài)度和團結(jié)協(xié)作的良好品質(zhì)。簡單來說,就是能編寫基本的Python程序,能編寫文件、數(shù)據(jù)庫與網(wǎng)絡程序,為今后的Python爬蟲、Web、數(shù)據(jù)分析、人工智能等學習打下良好的基礎。4.教學基本要求職業(yè)素質(zhì)要求:守時、保質(zhì)、保量、溝通、協(xié)作;課堂要求:按時出勤,有事請假、認真主動,勤于思考、積極回答問題、參與討論、有禮貌、師生相互尊重;上課最基本的要求:必須帶教材作業(yè)要求:按時交、保質(zhì)書山有路勤為徑5.考核方式本課程考核成績由形成性考核和期末考試兩部分組成,分數(shù)比例為:課程考核成績=形成性考核成績(50%)+期末考試成績(50%)形成性考核成績由學習表現(xiàn)、平時作業(yè)和綜合實訓三項構(gòu)成,學習表現(xiàn)主要記錄學生平時的出勤情況和課堂表現(xiàn),平時作業(yè)和綜合實訓強調(diào)職業(yè)技能的培養(yǎng)。(二)知識基礎1.Python簡介Python的作者,GuidovonRossum,確實是荷蘭人。1991年,第一個Python編譯器(同時也是解釋器)誕生。它是用C語言實現(xiàn)的,并能夠調(diào)用C庫(.so文件)。從一出生,Python已經(jīng)具有了:類(class),函數(shù)(function),異常處理(exception),包括表(list)和詞典(dictionary)在內(nèi)的核心數(shù)據(jù)類型,以及模塊(module)為基礎的拓展系統(tǒng)。Python語言具有以下特點:(1)語法簡潔清晰,強制用空白符語句縮進;(2)開源、免費、功能強大;(3)具有豐富和強大的庫,無論你想實現(xiàn)什么功能幾乎都有一個庫;(4)易讀、易維護,被大量用戶所歡迎的、用途廣泛;(5)是解釋性語言,變量類型可變,類似JavaScript;2.Python自帶環(huán)境官網(wǎng)/中直接下載Python的程序包。Python安裝完畢后可以看到Python39的啟動菜單3.PyCharm流行輕量級Python程序的IDE開發(fā)工具PyCharmPyCharm類似大名鼎鼎的Eclipse,是一種專門為Python開發(fā)的IDEPyCharm的官網(wǎng)/pycharm/去下載免費的PyCharmCommunity版本4.Anaconda流行的開發(fā)環(huán)境是Anaconda,是一個十分強大的Python開發(fā)環(huán)境。官網(wǎng)https://www.continuum.io/downloads下載Anaconda。自帶Python的解釋器自帶一個功能強大的IDE開發(fā)工具Spider。(三)實訓任務1.查閱Python的應用資料,了解Python的應用。2.安裝python和pycharm軟件,并運行1+2的結(jié)果。八、特色與創(chuàng)新以實訓任務為核心,理論與操作相結(jié)合,重視學生動手實踐能力的培養(yǎng)。九、反思與診改1.教案實施是否順利是2.是否達到教學目標是3.教學過程中是否滿足學生的個性化需要是4.學生學習方式是否有變化是5.采取的課堂管理是否有效是6.通過此次課程,是否改變教學理念是其他:
教案2授課單元第2章Python數(shù)據(jù)類型授課形式教學做一體化授課學時2授課地點授課對象授課班級一、教材分析教學內(nèi)容數(shù)值及表達式教學標準《Python程序設計》課程標準參考教材《Python程序設計》王小寧二、學情分析學生現(xiàn)在已經(jīng)學過信息技術基礎,有一定的計算機硬件與軟件基礎。三、教學目標知識目標掌握Python中數(shù)值數(shù)據(jù)類型的分類和特點。了解數(shù)值運算的基本規(guī)則和優(yōu)先級。技能目標能夠進行基本的數(shù)值運算,如加、減、乘、除等。能夠使用內(nèi)置的數(shù)學函數(shù)進行復雜的數(shù)值計算。情感與思政目標具有規(guī)范的企業(yè)編程風格和習慣、良好的排查程序錯誤的能力;具有良好的分析問題和解決問題的能力、溝通和協(xié)作和學習能力;熟悉課程中涉及到的專業(yè)詞匯。四、教學重難點教學重點Python常量與變量;Python表達式;教學難點數(shù)值的格式化輸出五、教學方法教法講授法、演示法學法實驗法六、教學資源與手段教學資源素材庫、實訓指導書教學手段教學做一體化教學流程(一)導入引入本課內(nèi)容(二)知識基礎1.常量在程序執(zhí)行過程中需要大量的數(shù)據(jù)來參與運算,常量是不變的數(shù)據(jù),用于描述客觀事物的屬性。人們常用的數(shù)字(0,1,2,1.5,-1,-2……)、中文文字(“計算機”、“程序”、“蘋果”、“紅色”……)、英文文字(“python”、“student”……)等,均為常量。常量的數(shù)據(jù)類型包括數(shù)值、字符串、列表、元組、集合、字典,下文將會對每一種數(shù)據(jù)類型進行詳細講解。2.變量程序設計中有時會需要變化的數(shù)據(jù)來提高程序的靈活性,因此出現(xiàn)了變量。變量是用戶自定義的有名字的存儲單元,其命名一般遵循以下規(guī)則:(1)變量名可以包含數(shù)字或字母和下劃線;(2)變量名不能以數(shù)字開頭;(3)變量名區(qū)分大小寫;(4)變量名不宜太長,一般最好有一定的含義。(5)保留字不能用作變量名。在PyCharm中輸入以下代碼,可查看保留字。importkeywordprint(keyword.kwlist)Python保留字有33個:'False','None','True','and','as','assert','async','await','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield'。根據(jù)上述要求,常用的變量名有:i,s,a,b,x,y,a1,x1,sum,p_stu,list_01,dict_p等。在使用變量時,需要對其賦值,如i=0,表示將i這一變量的值賦為0,a=“python”,表示將a變量的值賦為“python”。3.數(shù)值數(shù)值的4種類型(1)整型(int)(2)浮點型(float)(3)復數(shù)型(complex)(4)布爾型(bool)4.數(shù)值運算Python中數(shù)據(jù)的運算,主要包括算術運算(如+、-、*、/),比較運算(如>、<、>=),位運算(如&、|、~、<<),以及邏輯運算(and,or,not),成員運算(in,notin)等,在運算時有一定的優(yōu)先級,5.格式化輸出在程序設計中,對數(shù)值數(shù)據(jù)進行運算后,往往需要將其以某種格式輸出,如保留一位小數(shù)位數(shù)、將十進制的計算結(jié)果轉(zhuǎn)出為二進制數(shù)、輸出科學計數(shù)法的格式等問題,如何用Python語言描述?輸出語句print()可以實現(xiàn)這些功能。print(values,sep,end,file,flush)values:對象,表示可以一次輸出多個對象,輸出多個對象時,需要用逗號分隔;sep:用來間隔多個對象,默認值是一個空格;end:用來設定以什么結(jié)尾。默認值是換行符\n,我們可以換成其他字符串;file:要寫入的文件對象;flush:輸出是否被緩存通常決定于file,但如果flush關鍵字參數(shù)為True,流會被強制刷新。(1)使用%操作符(2)使用.format()方法(3)使用f-string(三)實訓任務實訓任務包括課堂實例、精選案例兩大部分、本教材中僅列出了課堂實例內(nèi)容。例2-1:定義整數(shù)10和20,并輸出兩數(shù)之和。a,b=10,20print(a+b)例2-2:定義整數(shù)9999999999999999999999991,并輸出它的3倍。a=9999999999999999999999991print(a*3)例2-3:計算100-99.5,并輸出結(jié)果。a,b=100,95.5print(a-b)例2-4:計算復數(shù)1+2j與3+3j的和,并輸出結(jié)果。a=1+2jb=3+3jprint(a+b)例2-5:計算布爾值True和False的和,以及True和True的和,并輸出結(jié)果。a=Trueb=Falsec=Trueprint(a+b,a+c)例2-6:執(zhí)行以下代碼,查看結(jié)果。a=1b=2c=3print(a,b,sep="、",end=",")print(c)例2-7:a=10,b=99.5678,將a和b的值輸出,并將b保留2位小數(shù),用%操作符實現(xiàn)輸出。a=10b=99.5678print("Thenumberis%d"%a)print("Thenumberis%.2f"%b)例2-8:將a和b的值輸出,并將b保留2位小數(shù),用format方法實現(xiàn)輸出,得到上題同樣的輸出結(jié)果。a=10b=99.5678print("Thenumberis{}".format(a))print("Thenumberis{:.2f}".format(b))例2-9:將a和b的值輸出,并將b保留2位小數(shù),用f-string實現(xiàn)輸出,得到上題同樣的輸出結(jié)果。a=10b=99.5678print(f"Thenumberis{a}")print(f"Thenumberis{b:.2f}")八、特色與創(chuàng)新以實訓任務為核心,理論與操作相結(jié)合,重視學生動手實踐能力的培養(yǎng)。九、反思與診改1.教案實施是否順利是2.是否達到教學目標是3.教學過程中是否滿足學生的個性化需要是4.學生學習方式是否有變化是5.采取的課堂管理是否有效是6.通過此次課程,是否改變教學理念是其他:
教案3授課單元第2章Python數(shù)據(jù)類型授課形式教學做一體化授課學時2授課地點授課對象授課班級一、教材分析教學內(nèi)容字符串教學標準《Python程序設計》課程標準參考教材《Python程序設計》王小寧二、學情分析學生現(xiàn)在已經(jīng)學過信息技術基礎,有一定的計算機硬件與軟件基礎。三、教學目標知識目標理解字符串的不可變性及其意義。掌握字符串切片、索引和查找等基本操作的概念。技能目標能夠熟練使用字符串切片來獲取子字符串。能夠使用字符串方法來進行查找、替換和分割等操作。情感與思政目標具有規(guī)范的企業(yè)編程風格和習慣、良好的排查程序錯誤的能力;具有良好的分析問題和解決問題的能力、溝通和協(xié)作和學習能力;熟悉課程中涉及到的專業(yè)詞匯。四、教學重難點教學重點字符串切片和索引的使用方法。教學難點字符串編碼和解碼的處理五、教學方法教法講授法、演示法學法實驗法六、教學資源與手段教學資源素材庫、實訓指導書教學手段教學做一體化七、教學流程(一)導入字符串是除數(shù)值外應用最廣泛的一種常量。字符串的類型是str,它支持Unicode字符集,可以包含任何語言的字符。Python中的字符串是不可變的。(二)知識基礎1.字符串定義字符串的定義比較靈活,一般使用英文狀態(tài)下的一對引號表示,可以使用一對單引號、雙引號或三引號表示,其中三引號通常用于定義多行字符。在定義字符串時,有時字符串中含有單引號,這時需要對它進行轉(zhuǎn)義,即在前面加一個\。或者使用不同類型的引號也可以解決問題。例如,對字符串doesn't進行定義時,要改寫為:doesn\'t。有時,也希望在字符串中包含換行符\n和回車符\r等特殊字符,這個時候就需要使用轉(zhuǎn)義字符進行表示,常用的轉(zhuǎn)義字符及其含義如表2-3所示。表2-3轉(zhuǎn)義字符轉(zhuǎn)義字符描述轉(zhuǎn)義字符描述\(在行尾時)續(xù)行符\n換行\(zhòng)\反斜杠符號\t橫向制表符\'單引號\r回車\"雙引號\v縱向制表符\b退格(Backspace)\f換頁如果不希望前置\的字符轉(zhuǎn)義成特殊字符,可以使用原始字符串,在引號前添加r即可。2.格式化輸出字符串字符串的格式化輸出方式,與數(shù)值的輸出方式類似,也包含%、.format()和f-string方法,由于f-string最為簡單,在文后主要采用其作為輸出方法。3.字符串讀取與切片字符串是不變的,但有時進行數(shù)據(jù)處理時需要提取字符串中的元素,因此,字符串的每個元素可以根據(jù)其索引位置進行讀取,從左到右依次從0開始編號,也可以從右往左逆向編號,從-1開始。通過索引號(下標)提取某一個數(shù)據(jù)元素,操作方式:字符串名[索引號]。切片是Python序列數(shù)據(jù)的重要操作之一。適用于字符串、列表、元組、range對象等,通過指定索引范圍獲得一組有序的元素。操作方式:字符串名[開始索引:結(jié)束索引:步長]。注意切片使用規(guī)則:前包后不包,步長默認是1,可以是負數(shù)。4.字符串的操作運算符用于執(zhí)行程序代碼運算,會針對一個以上的操作數(shù)項目來進行運算。對于字符串的操作運算符主要有+(加法)、*(乘法)、in(成員包含判斷)等。Python提供了對字符串進行處理的函數(shù),可以直接在字符串外部進行調(diào)用,常見的有l(wèi)en(s),用于計算字符串s的長度。字符串在處理文本內(nèi)容時候使用較頻繁,其包含了多種方法可以高效使用。(三)實訓任務實訓任務包括課堂實例、精選案例兩大部分、本教材中僅列出了課堂實例內(nèi)容。例2-10:以下三種方式均可定義相同的字符串。str1='hello,world'str2="hello,world"str3='''hello,world'''例2-11:執(zhí)行以下代碼。s1="歡迎\t來到Python世界。"s2=r"歡迎\t來到Python世界。"print(s1)print(s2)例2-12:分別用%、.format()和f-string方法輸出自我介紹。name="Amy"age=20print("我叫%s,今年%d歲了。"%(name,age))print("我叫{},今年{}歲了。".format(name,age))print(f"我叫{name},今年{age}歲了。")例2-13:已知s="AdMin",檢測s是否大寫、小寫,并將其改為大寫。s="AdMin"print(s.isupper())#執(zhí)行結(jié)果:Falseprint(s.islower())#執(zhí)行結(jié)果:Falses_new=s.upper()#將user改為大寫print(s_new.isupper())#執(zhí)行結(jié)果:Falseprint(s_new.islower())#執(zhí)行結(jié)果:False例2-14:已知s1="12345",s2="python123",查看s1和s2是否為數(shù)字、字母。s1="12345"s2="python123"print(s1.isnumeric())#執(zhí)行結(jié)果:Trueprint(s1.isalpha())#執(zhí)行結(jié)果:Falseprint(s2.isnumeric())#執(zhí)行結(jié)果:Falseprint(s2.isalpha())#執(zhí)行結(jié)果:False例2-15:查找字符“t”和“m”在字符串“student”中的情況,并將“student”中的“s”替換為“t”。a="t"b="m"s3="student"print(s3.index(a))#執(zhí)行結(jié)果:1print(s3.index(b))#執(zhí)行結(jié)果:報錯print(s3.find(a))#執(zhí)行結(jié)果:1print(s3.find(b))#執(zhí)行結(jié)果:-1print(s3.replace('s',"t"))#執(zhí)行結(jié)果:ttudent例2-16:定義字符串s='aabbbabcccaba',查找在1到8的索引范圍內(nèi)字符“a”出現(xiàn)的次數(shù)。s='aabbbabcccaba'print(s.count("a",1,8))例2-17:定義字符串s="[500]元",完成以下小任務:(1)僅去除左邊空格;(2)僅去除右邊空格;(3)去除所有空格;(4)將s處理為“500”。s="[500]元"print(s.lstrip())print(s.rstrip())print(s.strip())print(s.strip().strip("[]元"))例2-18:定義字符串“hello,\t編程”,將其處理為“hello,編程”的字符串。s='hello,\t編程'slist=s.strip().split()s_new="".join(slist)print(s_new)例2-19:定義字符串s=””,以“.”為分割符,將其處理為3個字符串。s=''s_p=s.split(".",2)print(s_p)例2-20:執(zhí)行以下代碼,可查看到變量a、b、c的數(shù)據(jù)類型分別是int、str和float。a=2print(type(a))b=str(a)print(type(b))c=float(a)print(type(c))例2-21:要求用戶輸入一個數(shù)字,查看獲取到的數(shù)據(jù)類型并輸出。a=input("請輸入一個數(shù)字:")print(type(a))例2-22:將用戶輸入的數(shù)字加2,并輸出結(jié)果。a=input("請輸入一個數(shù)字:")print(a+2)b=int(input("請輸入一個數(shù)字:"))print(b+2)八、特色與創(chuàng)新以實訓任務為核心,理論與操作相結(jié)合,重視學生動手實踐能力的培養(yǎng)。九、反思與診改1.教案實施是否順利是2.是否達到教學目標是3.教學過程中是否滿足學生的個性化需要是4.學生學習方式是否有變化是5.采取的課堂管理是否有效是6.通過此次課程,是否改變教學理念是其他:
教案4授課單元第2章Python數(shù)據(jù)類型授課形式教學做一體化授課學時2授課地點授課對象授課班級一、教材分析教學內(nèi)容列表、元組、集合教學標準《Python程序設計》課程標準參考教材《Python程序設計》王小寧二、學情分析學生現(xiàn)在已經(jīng)學過信息技術基礎,有一定的計算機硬件與軟件基礎。三、教學目標知識目標理解列表、元組和集合的基本概念和區(qū)別。掌握這些數(shù)據(jù)結(jié)構(gòu)的基本操作和特性。技能目標能夠熟練創(chuàng)建和操作列表、元組和集合。能夠使用列表推導式等高級特性。情感與思政目標具有規(guī)范的企業(yè)編程風格和習慣、良好的排查程序錯誤的能力;具有良好的分析問題和解決問題的能力、溝通和協(xié)作和學習能力;熟悉課程中涉及到的專業(yè)詞匯。四、教學重難點教學重點列表、元組和集合的創(chuàng)建和基本操作教學難點列表推導式的理解和應用五、教學方法教法講授法、演示法學法實驗法六、教學資源與手段教學資源素材庫、實訓指導書教學手段教學做一體化七、教學流程(一)導入當程序設計中要用到多個數(shù)據(jù)時,為了便于數(shù)據(jù)存儲與管理,Python提供了列表(list)這一數(shù)據(jù)類型。列表用方括號表示,可以存儲多個不同類型的數(shù)據(jù)。列表是一種有序、可變的序列類型,可以進行增加、刪除、修改元素等操作。(二)知識基礎1.列表的創(chuàng)建創(chuàng)建一個列表,只需要把逗號分隔的不同的數(shù)據(jù)項用方括號括起來即可。創(chuàng)建列表常用的方法有以下4種。(1)創(chuàng)建空列表list1=[](2)創(chuàng)建有元素的列表list2=[1,2,"a","b","c","d","e"](3)將字符串轉(zhuǎn)為列表list3=list("python")(4)將字符串分割為列表list5=list("Youcandowhateveryouputyourmindto.".split())2.列表的刪除刪除列表對象,可以用dellist來實現(xiàn)。del可以通用于對任意對象的刪除,后文不再贅述。3.列表的索引與切片列表的索引與切片方法與字符串相同。4.元組元組可以通過圓括號()或逗號來創(chuàng)建。即使只有一個元素的元組,也需要在元素后面添加逗號,否則括號會被當作運算符使用。元組支持的內(nèi)置函數(shù)、計算與列表相同,但由于元組的元素是不可改變的,故不支持涉及元素變化的操作,如append()、extend()、insert()、remove()、pop()、clear()、sort()等,僅支持count()和index()操作。5.集合集合是一種無序可變的、不包含重復元素的集合數(shù)據(jù)類型。其基本功能包括關系測試和消除重復元素。集合用花括號{}表示,元素之間用逗號分隔。(三)實訓任務實訓任務包括課堂實例、精選案例兩大部分、本教材中僅列出了課堂實例內(nèi)容。例2-23:已知列表list1=["重慶","北京","上海","天津",2,5,78,3,45,19],要求:(1)讀取list1中最后一個元素(2)讀取list1中第2個元素(3)讀取list1中的所有元素(4)讀取list1中的前3個元素(5)讀取list1中最后3個元素(6)讀取list1中的奇數(shù)位置的元素(7)逆向輸出list1中的所有元素list1=["重慶","北京","上海","天津",2,5,78,3,45,19]print(list1[-1])print(list1[1])print(list1[::])print(list1[:3])print(list1[-3::])print(list1[1::2])print(list1[::-1])例2-24:已知列表list1=[2,5,78,3,45,19],要求:(1)計算list1中列表元素的個數(shù)(2)計算list1中最大值、最小值(3)計算list1中數(shù)字之和(4)對列表中的數(shù)字按降序排序。list1=[2,5,78,3,45,19]print(len(list1)) print(max(list1)) print(min(list1)) print(sum(list1)) list1_new=sorted(list1,reverse=True)print(list1) 例2-25:列表元素的增加。對alist=[1,4,3,4,6,8],完成以下操作:(1)在列表末尾增加字符“a”(2)在索引號為2的位置增加字符“a”(3)在列表末尾追加一個列表[“a”,“b”,“c”,“d”]alist=[1,4,3,4,6,8]alist.append("a")alist.insert(2,"a")blist=["a","b","c","d"]alist.extend(blist)print(alist)例2-26:對alist=['a',2,'a',5,6,7,8,'a','b','c'],進行列表元素的統(tǒng)計、查詢、修改與刪除。(1) 查看“a”在列表中出現(xiàn)的次數(shù);(2) 查看“a”第一次出現(xiàn)的索引位置;(3) 將第一個“a”改為“m”;(4) 刪除列表最后一個元素;(5) 刪除指定元素“m”;(6) 刪除第1個元素;(7) 刪除所有元素;(8) 刪除alist列表。alist=['a',2,'a',5,6,7,8,'a','b','c']print(alist.count("a")) #輸出結(jié)果:3print(alist.index("a")) #輸出結(jié)果:0alist[0]="m" #更改列表元素print(alist) #輸出結(jié)果:['m',2,'a',5,6,7,8,'a','b','c']delalist[-1] #刪除最后一個列表元素 print(alist) #輸出結(jié)果:['m',2,'a',5,6,7,8,'a','b']alist.remove("m") #移除列表元素“m”print(alist) #輸出結(jié)果:[2,'a',5,6,7,8,'a','b']print(alist.pop(1)) #彈出第2個列表元素print(alist) #輸出結(jié)果:[2,5,6,7,8,'a','b']alist.clear() #清空列表內(nèi)容print(alist) #輸出結(jié)果:[]delalist #刪除列表對象例2-27:list1=list("python"),將列表反向顯示并輸出。list1=list("python")print(list1[::-1])list1.reverse()print(list1)例2-28:list2=[2,5,78,3,45,19],將列表按升序排序。list2=[2,5,78,3,45,19]print(sorted(list2,reverse=True))list2.sort(reverse=True)print(list2)例2-29:tuple1=(1,2,3),統(tǒng)計元素個數(shù)、最大值、最小值、所有元素之和。tuple1=(1,2,3)print(len(tuple1))print(max(tuple1))print(min(tuple1))print(sum(tuple1))例2-30:將tuple1=(1,2,3)和tuple2=('a','b','c')連接為一個元組對象并輸出。tuple1=(1,2,3)tuple2=('a','b','c')tuple3=tuple1+tuple2print(tuple3)例2-31:輸出3個tuple1=(1,2,3)的元素內(nèi)容。tuple1=(1,2,3)print(tuple1*3)例2-32:查看數(shù)字1是否在tuple1=(1,2,3)中。tuple1=(1,2,3)print(1intuple1)例2-33:統(tǒng)計tuple1=(1,2,3)中數(shù)字1出現(xiàn)的次數(shù),查看數(shù)字2的索引號。tuple1=(1,2,3)print(tuple1.count(1))print(tuple1.index(2))例2-34:將列表list1=[1,2,3,4,1,1]轉(zhuǎn)換為集合。list1=[1,2,3,4,1,1]s2=set(list1)print(s2)八、特色與創(chuàng)新以實訓任務為核心,理論與操作相結(jié)合,重視學生動手實踐能力的培養(yǎng)。九、反思與診改1.教案實施是否順利是2.是否達到教學目標是3.教學過程中是否滿足學生的個性化需要是4.學生學習方式是否有變化是5.采取的課堂管理是否有效是6.通過此次課程,是否改變教學理念是其他:
教案5授課單元第2章Python數(shù)據(jù)類型授課形式教學做一體化授課學時2授課地點授課對象授課班級一、教材分析教學內(nèi)容字典教學標準《Python程序設計》課程標準參考教材《Python程序設計》王小寧二、學情分析學生現(xiàn)在已經(jīng)學過信息技術基礎,有一定的計算機硬件與軟件基礎。三、教學目標知識目標理解字典數(shù)據(jù)結(jié)構(gòu)的特性和用途。掌握字典的創(chuàng)建和基本操作方法。技能目標能夠熟練地使用字典進行數(shù)據(jù)存儲和檢索。能夠處理字典中的異常和錯誤。情感與思政目標具有規(guī)范的企業(yè)編程風格和習慣、良好的排查程序錯誤的能力;具有良好的分析問題和解決問題的能力、溝通和協(xié)作和學習能力;熟悉課程中涉及到的專業(yè)詞匯。四、教學重難點教學重點字典的創(chuàng)建、訪問和修改方法。教學難點字典推導式的理解和應用。五、教學方法教法講授法、演示法學法實驗法六、教學資源與手段教學資源素材庫、實訓指導書教學手段教學做一體化七、教學流程(一)導入字典屬于容器類對象,可存儲任意類型對象。其中包含若干元素,每個元素包含“鍵”和“值”兩部分,這兩部分之間使用冒號分,表示一種對應關系。不同元素之間用逗號分隔,所有元素放在一對大括號中。(二)知識基礎字典的創(chuàng)建格式如下所示:d={key1:value1,key2:value2,key3:value3}。1.訪問字典元素格式:字典名[鍵]2.添加或修改字典元素格式:字典名[鍵]=值,已存在鍵的值會被修改,不存在的則會增加鍵值對。3.刪除字典元素del命令可以刪除元素,也可以刪除整個字典。Python提供了很多字典的操作方法,如表2-13所示。表2-13字典的操作方法方法功能dict.keys()獲得鍵的迭代器dict.values()獲得值的迭代器dict.get(k,[default])獲得k(鍵)對應的值,不存在則返回defaultdict.items()獲得由鍵和值組成元組做為元素的列表dict.pop(k[,d])刪除k(鍵)對應的”鍵:值”對dict.update(adict)從另一個字典更新字典元素的值,如不存在,則添加此元素dict.clear()清空字典dict.copy()復制字典dict.fromkeys(iter,value)以列表或元組中給定的鍵建立字典,默認值為value(三)實訓任務實訓任務包括課堂實例、精選案例兩大部分、本教材中僅列出了課堂實例內(nèi)容。例2-35:對水果數(shù)量字典d={'蘋果':20,'西瓜':10,'桔子':59},查看蘋果的數(shù)量。d={'蘋果':20,'西瓜':10,'桔子':59}print(d['蘋果'])例2-36:在上例中,將蘋果的數(shù)量更改為30,直接使用賦值語句即可。d['蘋果']=30增加香蕉的數(shù)量為40,也可以直接用賦值語句實現(xiàn)。d['香蕉']=40print(d)例2-37:水果字典d={'蘋果':20,'西瓜':10,'桔子':59}(1)查找字典中所有的鍵、所有的值,以及所有的鍵值對。(2)輸出鍵為“蘋果”的值,以及鍵為“香蕉”的值。d={'蘋果':20,'西瓜':10,'桔子':59}print(d.keys())print(d.values())print(d.items())print(d.get("蘋果"))print(d.get("香蕉"))八、特色與創(chuàng)新以實訓任務為核心,理論與操作相結(jié)合,重視學生動手實踐能力的培養(yǎng)。九、反思與診改1.教案實施是否順利是2.是否達到教學目標是3.教學過程中是否滿足學生的個性化需要是4.學生學習方式是否有變化是5.采取的課堂管理是否有效是6.通過此次課程,是否改變教學理念是其他:
教案6授課單元第3章開始程序設計授課形式教學做一體化授課學時2授課地點授課對象授課班級一、教材分析教學內(nèi)容程序與算法教學標準《Python程序設計》課程標準參考教材《Python程序設計》王小寧二、學情分析學生現(xiàn)在已經(jīng)學過信息技術基礎,有一定的計算機硬件與軟件基礎。三、教學目標知識目標理解算法的基本概念及其在程序設計中的重要性。掌握Python中的縮進規(guī)則及其對于代碼結(jié)構(gòu)的影響。了解注釋的作用,學會正確使用注釋來描述代碼。技能目標能夠用自然語言或偽代碼描述簡單的算法。能夠在Python代碼中正確使用縮進,確保代碼結(jié)構(gòu)的正確性。能夠為Python代碼添加恰當?shù)淖⑨專岣叽a的可讀性。情感與思政目標具有規(guī)范的企業(yè)編程風格和習慣、良好的排查程序錯誤的能力;具有良好的分析問題和解決問題的能力、溝通和協(xié)作和學習能力;熟悉課程中涉及到的專業(yè)詞匯。四、教學重難點教學重點算法的基本概念和描述方法;Python代碼的縮進規(guī)則和代碼塊的形成。教學難點如何用簡潔明了的語言描述算法;理解縮進在Python中的重要性及其對程序流程控制的影響。五、教學方法教法講授法、演示法學法實驗法六、教學資源與手段教學資源素材庫、實訓指導書教學手段教學做一體化七、教學流程(一)導入計算機之所以能夠處理復雜的問題,主要依靠于程序的運行。程序設計的一般過程包括四個步驟:分析問題、確定數(shù)學模型、算法設計、編寫程序、運行測試。其中算法是程序設計的核心,沒有算法就沒有了程序設計的靈魂。(二)知識基礎1.算法定義與特性算法就是解決問題的方法和步驟,解決問題的過程就是算法實現(xiàn)的過程。著名計算機科學家DonaldE.Knuth曾把算法的特性歸納為以下5點:(1)有窮性。任意一個算法在執(zhí)行有窮個計算步驟后必須終止。(2)每一個計算步驟必須是精確地定義,無二義性。(3)可行性。有限多個步驟應該在一個合理的范圍內(nèi)進行。(4)輸入。一般有0個或多個輸入。(5)輸出。一般有若干個輸出信息,是反映對輸入數(shù)據(jù)加工后的結(jié)果。沒有輸出結(jié)果的算法是毫無意義的。2.常用的算法人們通過長期的研究開發(fā)工作總結(jié)了一些基本的算法設計方法。例如枚舉法、迭代法、遞推法、分治法、回測法、貪心法和動態(tài)規(guī)劃法等。枚舉、查找、排序、迭代3.算法描述(1)自然語言(2)流程圖(3)偽代碼(4)計算機語言4.Python語法規(guī)則(1)縮進(2)注釋八、特色與創(chuàng)新以實訓任務為核心,理論與操作相結(jié)合,重視學生動手實踐能力的培養(yǎng)。九、反思與診改1.教案實施是否順利是2.是否達到教學目標是3.教學過程中是否滿足學生的個性化需要是4.學生學習方式是否有變化是5.采取的課堂管理是否有效是6.通過此次課程,是否改變教學理念是其他:
教案7授課單元第3章開始程序設計授課形式教學做一體化授課學時2授課地點授課對象授課班級一、教材分析教學內(nèi)容選擇結(jié)構(gòu)教學標準《Python程序設計》課程標準參考教材《Python程序設計》王小寧二、學情分析學生現(xiàn)在已經(jīng)學過信息技術基礎,有一定的計算機硬件與軟件基礎。三、教學目標知識目標理解條件語句的基本概念及其在程序流程控制中的作用。掌握if單分支、雙分支和多分支語句的語法結(jié)構(gòu)。技能目標能夠根據(jù)實際需求編寫if單分支、雙分支和多分支語句。能夠調(diào)試和修正條件語句中的邏輯錯誤。情感與思政目標具有規(guī)范的企業(yè)編程風格和習慣、良好的排查程序錯誤的能力;具有良好的分析問題和解決問題的能力、溝通和協(xié)作和學習能力;熟悉課程中涉及到的專業(yè)詞匯。四、教學重難點教學重點if語句的語法結(jié)構(gòu)和執(zhí)行流程。條件表達式的編寫和邏輯判斷。教學難點多分支語句中條件的嵌套和邏輯關系處理。條件語句與其他語句(如循環(huán)語句)的結(jié)合使用。五、教學方法教法講授法、演示法學法實驗法六、教學資源與手段教學資源素材庫、實訓指導書教學手段教學做一體化教學流程(一)導入程序的控制結(jié)構(gòu),有順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),稱為算法的3種基本結(jié)構(gòu)。順序結(jié)構(gòu)指計算機按照語句出現(xiàn)的先后次序依次執(zhí)行。選擇結(jié)構(gòu)是設定條件進行判斷,然后根據(jù)可能不同的情況進行不同的處理。循環(huán)結(jié)構(gòu)是根據(jù)條件判斷控制循環(huán)體語句的執(zhí)行次數(shù)。本節(jié)首先介紹選擇結(jié)構(gòu)。(二)知識基礎1.單分支結(jié)構(gòu)語法結(jié)構(gòu)為:if(條件表達式): 語句/語句塊1條件表達式語句塊YN流程圖如圖3條件表達式語句塊YN圖3-3if單分支語句注意:每個if條件后要使用冒號(:),表示接下來是滿足條件后要執(zhí)行的語句。使用縮進來劃分語句塊,相同縮進數(shù)的語句在一起組成一個語句塊。2.雙分支結(jié)構(gòu)基本語法:if條件:語句1else: 語句2流程圖如圖3-4所示,當表達式的值為True時,表示條件滿足,則執(zhí)行語句塊1,否則執(zhí)行語句塊2。條件表達式語句塊1YN語句塊條件表達式語句塊1YN語句塊23.多分支結(jié)構(gòu)基本語法:if條件1:語句1elif條件2:語句2…else:語句n表達式A語句塊1語句塊2FalseTrue表達式B表達式CFalseFalse語句塊3……
語句塊表達式A語句塊1語句塊2FalseTrue表達式B表達式CFalseFalse語句塊3……
語句塊nFalseTrueTrue……True圖3-5if多分支語句(三)實訓任務實訓任務包括課堂實例、精選案例兩大部分、本教材中僅列出了課堂實例內(nèi)容。例3-1:當用戶輸入年齡,判斷age是否大于等于18,若滿足條件,輸出“你已成年”。age=int(input('請輸入你的年齡:'))ifage>=18:print("你已成年")例3-2:輸入一個整數(shù),如果大于0,輸出“正數(shù)”;否則輸出“不是正數(shù)”。x=float(input("請輸入一個數(shù):"))ifx>0:print("是正數(shù)")else:print("不是正數(shù)")例3-3:輸入一個學生的整數(shù)成績n,當成績大于等于90分時,輸出“成績優(yōu)秀!”;當成績大于等于80小于90時,輸出“成績良好!”;當成績大于等于70小于80時,輸出“成績中等!”;當成績大于等于60小于70時,輸出“成績合格!”;否則輸出“成績不合格!”。n=float(input("請輸入一個成績:"))ifn>=90:print("成績優(yōu)秀!")elifn>=80:print("成績良好!")elifn>=70print("成績合格!")elifn>=60print("成績合格!")else:print("成績不合格!")例3-4:輸出5遍“Hello,Python!”foriinrange(5):print("hello,python!")八、特色與創(chuàng)新以實訓任務為核心,理論與操作相結(jié)合,重視學生動手實踐能力的培養(yǎng)。九、反思與診改1.教案實施是否順利是2.是否達到教學目標是3.教學過程中是否滿足學生的個性化需要是4.學生學習方式是否有變化是5.采取的課堂管理是否有效是6.通過此次課程,是否改變教學理念是其他:
教案8授課單元第3章開始程序設計授課形式教學做一體化授課學時2授課地點授課對象授課班級一、教材分析教學內(nèi)容循環(huán)結(jié)構(gòu)與中斷處理教學標準《Python程序設計》課程標準參考教材《Python程序設計》王小寧二、學情分析學生現(xiàn)在已經(jīng)學過信息技術基礎,有一定的計算機硬件與軟件基礎。三、教學目標知識目標理解循環(huán)語句的基本概念及其在程序中的應用場景。掌握while循環(huán)和for循環(huán)的語法結(jié)構(gòu)和執(zhí)行流程。技能目標能夠根據(jù)實際需求編寫while循環(huán)和for循環(huán)代碼。能夠優(yōu)化循環(huán)結(jié)構(gòu),提高代碼的執(zhí)行效率。情感與思政目標具有規(guī)范的企業(yè)編程風格和習慣、良好的排查程序錯誤的能力;具有良好的分析問題和解決問題的能力、溝通和協(xié)作和學習能力;熟悉課程中涉及到的專業(yè)詞匯。四、教學重難點教學重點while循環(huán)和for循環(huán)的語法結(jié)構(gòu)和適用場景。循環(huán)變量的初始化和更新方式。教學難點循環(huán)條件的設置和循環(huán)體的編寫,以避免無限循環(huán)或邏輯錯誤。理解循環(huán)執(zhí)行過程中的變量變化和狀態(tài)更新。五、教學方法教法講授法、演示法學法實驗法六、教學資源與手段教學資源素材庫、實訓指導書教學手段教學做一體化七、教學流程(一)導入當有些語句塊需要重復執(zhí)行時,為了簡化代碼量,可以使用循環(huán)結(jié)構(gòu)來實現(xiàn)。循環(huán)結(jié)構(gòu)可以用for和while兩種方法來描述。(二)知識基礎1.for循環(huán)for循環(huán)表示當滿足條件表達式時,重復執(zhí)行循環(huán)語句,否則跳出循環(huán),其語法格式為:for變量inrange(start,stop[,step]):循環(huán)語句其中,start指計數(shù)開始值,默認為0。如range(5)等價于range(0,5)。stop指計數(shù)結(jié)束值,但不包括stop。如range(0,5)是[0,1,2,3,4]沒有5。step指步長,默認為1。如range(0,5,2)步長是2,則它的結(jié)果為[0,2,4]。條件表達式循環(huán)語句TFfor條件表達式循環(huán)語句TF圖3-6for循環(huán)流程圖2.while循環(huán)for語句適用于明確變量范圍的情景,程序更為簡潔。當變量范圍不確定時,則需要使用while語句。其語法格式為:while條件表達式:循環(huán)語句(塊)3.break中斷語句在循環(huán)的過程中,如果需要中斷循環(huán),則需要使用break語句,可以極大地節(jié)省程序的時間復雜度,且便于獲取中斷時的變量值。4.continue語句continue的作用是用來結(jié)束本次循環(huán),緊接著執(zhí)行下一次的循環(huán)。(三)實訓任務實訓任務包括課堂實例、精選案例兩大部分、本教材中僅列出了課堂實例內(nèi)容。例3-5:編寫程序,操場跑步,當跑完第3圈,停止跑圈。foriinrange(3):
print(f"跑完了第{i+1}圈")例3-6:計算s=n!其中n由鍵盤輸入。s=1
n=int(input("請輸入一個正整數(shù):"))
foriinrange(1,n+1):
s=s*i
print(f"{n}的階乘是:{s}")例3-7:計算s=1+2+……+100s=0
foriinrange(1,101):
s+=i
print(s)例3-8:輸入5個同學的成績,計算平均成績。s=0
foriinrange(5):
n=float(input("請輸入成績:"))
s+=n
print("平均成績?yōu)椋?,s/5)例3-9:定義字符串“python”,將每個字母單獨輸出。s="python"
forcins:
print(c)例3-10:請輸出直角三角形。foriinrange(5):
print("*"*i)執(zhí)行結(jié)果為:**********例3-11:請輸出等腰三角形。foriinrange(5):
print(""*(5-i)+"*"*(i*2-1))例3-12:判斷一個年份是否是閏年。閏年是能被4整除但不能被100整除或能被400整除。n=int(input("請輸入一個年份"))
ifn%4==0andn%100!=0orn%400==0:
print(f"{n}是閏年")
else:
print(f"{n}不是閏年")例3-13:用for循環(huán)生成一個1到9的平方列表。list1=[i**2foriinrange(10)]print(list1)例3-14:用while語句計算s=2+4…+98+100。s=0
i=2
whilei<=100:
s+=i
i+=2
print(s)例3-15:爸爸今年40歲,兒子今年6歲,求出多少年后爸爸的年齡是兒子的兩倍。d_age=40s_age=6y=0whiled_age!=s_age*2:y+=1s_age+=1d_age+=1print(y)例3-16:猜數(shù)游戲,給用戶無數(shù)機會去猜,如果猜對了輸出“猜對了!”,否則提示“沒猜對!”answer=5
whileTrue:
n=int(input("請猜數(shù):"))
ifn==answer:
print("猜對了!")
break
else:
print("沒猜對!")例3-17:錄入學生的成績,以字母“p”為結(jié)束符,計算成績數(shù)量、總分和平均值。n,s=0,0
whileTrue:
score=input("請輸入成績:")
ifscore=="p":
break
s+=float(score)
n+=1
print(f"總分為{s},成績數(shù)量為{n},平均成績?yōu)閧s/n}")例3-18:編寫程序判斷一個數(shù)是否是素數(shù)。素數(shù)是只能被1和它本身整除的數(shù)。n=int(input("請輸入一個自然數(shù):"))
foriinrange(2,n):
ifn%i==0:
print(f"{n}不是素數(shù)")
break
else:
print(f"{n}是素數(shù)")例3-19:定義字符串“python”,將除“y”以外的每個字母單獨輸出。forcin"python":
ifc=="y":
continue
print(c)八、特色與創(chuàng)新以實訓任務為核心,理論與操作相結(jié)合,重視學生動手實踐能力的培養(yǎng)。九、反思與診改1.教案實施是否順利是2.是否達到教學目標是3.教學過程中是否滿足學生的個性化需要是4.學生學習方式是否有變化是5.采取的課堂管理是否有效是6.通過此次課程,是否改變教學理念是其他:
教案9授課單元第3章開始程序設計授課形式教學做一體化授課學時2授課地點授課對象授課班級一、教材分析教學內(nèi)容嵌套循環(huán)教學標準《Python程序設計》課程標準參考教材《Python程序設計》王小寧二、學情分析學生現(xiàn)在已經(jīng)學過信息技術基礎,有一定的計算機硬件與軟件基礎。三、教學目標知識目標環(huán)條件的設置和循環(huán)體的編寫,以避免無限循環(huán)或邏輯錯誤。理解循環(huán)執(zhí)行過程中的變量變化和狀態(tài)更新。技能目標能夠編寫嵌套循環(huán)來解決實際問題,如矩陣操作、多維數(shù)組遍歷等。能夠在循環(huán)中正確使用break和continue語句來控制程序流程。情感與思政目標具有規(guī)范的企業(yè)編程風格和習慣、良好的排查程序錯誤的能力;具有良好的分析問題和解決問題的能力、溝通和協(xié)作和學習能力;熟悉課程中涉及到的專業(yè)詞匯。四、教學重難點教學重點嵌套循環(huán)的語法結(jié)構(gòu)和執(zhí)行流程。break和continue語句的使用方法和場景。教學難點理解嵌套循環(huán)中變量的作用域和更新方式。掌握在何種情況下使用break或continue語句來優(yōu)化循環(huán)結(jié)構(gòu)。五、教學方法教法講授法、演示法學法實驗法六、教學資源與手段教學資源素材庫、實訓指導書教學手段教學做一體化七、教學流程(一)導入在一個循環(huán)體內(nèi)又包含另一個完整的循環(huán)結(jié)構(gòu),成為循環(huán)的嵌套。當外層循環(huán)執(zhí)行第一遍時,內(nèi)層循環(huán)需要全部執(zhí)行完方可執(zhí)行外層循環(huán)第二遍。(二)知識基礎嵌套循環(huán)的流程圖,如圖3-7所示。循環(huán)條件1循環(huán)語句1T循環(huán)條件1循環(huán)語句1TrueFalse循環(huán)語句2False循環(huán)條件2True(三)實訓任務實訓任務包括課堂實例、精選案例兩大部分、本教材中僅列出了課堂實例內(nèi)容。例3-20:打印乘法九九表。foriinrange(1,10):
forjinrange(1,i+1):
print(f"{i}*{j}={i*j:2d}",end="")
print()例3-21:打印出1,2,3的這樣3個數(shù)字的所有排列。foriinrange(1,4):forjinrange(1,4):forkinrange(1,4):ifi!=jandi!=kandj!=k:print(i,j,k)例3-22:雞兔同籠問題。假設共有雞、兔30只,腳90只,求雞、兔各有多少只。foriinrange(1,30):forjinrange(1,30):ifi+j==30andi*2+j*4==90:print(i,j)例3-23:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程找出三隊賽手的名單。s="xyz"
foriinrange(3):
forjinrange(3):
forkinrange(3):
ifi!=0andk!=0andk!=2andi!=jandi!=kandj!=k:
print(f"a-{s[i]},b-{s[j]},c-{s[k]}")八、特色與創(chuàng)新以實訓任務為核心,理論與操作相結(jié)合,重視學生動手實踐能力的培養(yǎng)。九、反思與診改1.教案實施是否順利是2.是否達到教學目標是3.教學過程中是否滿足學生的個性化需要是4.學生學習方式是否有變化是5.采取的課堂管理是否有效是6.通過此次課程,是否改變教學理念是其他:
教案10授課單元第3章開始程序設計授課形式教學做一體化授課學時2授課地點授課對象授課班級一、教材分析教學內(nèi)容異常處理教學標準《Python程序設計》課程標準參考教材《Python程序設計》王小寧二、學情分析學生現(xiàn)在已經(jīng)學過信息技術基礎,有一定的計算機硬件與軟件基礎。三、教學目標知識目標理解異常處理的概念及其在程序設計中的重要性。掌握try-except語句的語法結(jié)構(gòu)和執(zhí)行流程。技能目標能夠編寫異常處理代碼來捕獲和處理程序中可能出現(xiàn)的異常。能夠自定義異常類型,并根據(jù)實際需求拋出異常。情感與思政目標具有規(guī)范的企業(yè)編程風格和習慣、良好的排查程序錯誤的能力;具有良好的分析問題和解決問題的能力、溝通和協(xié)作和學習能力;熟悉課程中涉及到的專業(yè)詞匯。四、教學重難點教學重點異常處理的基本概念和try-except語句的語法結(jié)構(gòu)。常見異常類型的識別和處理方法。教學難點理解異常傳播的機制和多層異常處理的結(jié)構(gòu)。掌握如何合理地使用異常處理來提高程序的健壯性和可靠性。五、教學方法教法講授法、演示法學法實驗法六、教學資源與手段教學資源素材庫、實訓指導書教學手段教學做一體化七、教學流程(一)導入程序設計要考慮各種可能出現(xiàn)的錯誤,即使程序語法是正確的,運行時也可能會報錯,影響整個程序的運行。因此Python設計了強大的異常處理機制,對程序執(zhí)行過程中出現(xiàn)的異常進行捕獲并處理,使程序能夠繼續(xù)執(zhí)行下去。(二)知識基礎1.異常類型Python提供了強大的異常類Exception,可以向用戶準確反饋出錯信息。常見的異常如表3-3所示。表3-3Pyhton常見的異常異?;蝈e誤名稱功能描述異?;蝈e誤名稱功能描述BaseException所有異常的基類NameError未聲明/初始化對象(沒有屬性)SystemExit解釋器請求退出UnboundLocalError訪問未初始化的本地變量KeyboardInterrupt用戶中斷執(zhí)行(通常是輸入Ctrl+C)ReferenceError弱引用(Weakreference)試圖訪問已經(jīng)被垃圾回收了的對象Exception常規(guī)錯誤的基類RuntimeError一般的運行時錯誤StopIteration迭代器沒有更多的值NotImplementedError尚未實現(xiàn)的方法GeneratorExit生成器(generator)發(fā)生異常來通知退出SyntaxErrorPython語法錯誤StandardError所有的內(nèi)建標準異常的基類IndentationError縮進錯誤ArithmeticError所有數(shù)值計算錯誤的基類TabErrorTab和空格混用FloatingPointError浮點計算錯誤SystemError一般的解釋器系統(tǒng)錯誤OverflowError數(shù)值運算超出最大限制TypeError對類型無效的操作ZeroDivisionError除(或取模)零(所有數(shù)據(jù)類型)ValueError傳入無效的參數(shù)AssertionError斷言語句失敗UnicodeErrorUnicode相關的錯誤AttributeError對象沒有這個屬性UnicodeDecodeErrorUnicode解碼時的錯誤EOFError沒有內(nèi)建輸入,到達EOF標記UnicodeEncodeErrorUnicode編碼時錯誤EnvironmentError操作系統(tǒng)錯誤的基類UnicodeTranslateErrorUnicode轉(zhuǎn)換時錯誤IOError輸入/輸出操作失敗Warning警告的基類OSError操作系統(tǒng)錯誤DeprecationWarning關于被棄用的特征的警告WindowsError系統(tǒng)調(diào)用失敗FutureWarning關于構(gòu)造將來語義會有改變的警告ImportError導入模塊/對象失敗OverflowWarning舊的關于自動提升為長整型(long)的警告LookupError無效數(shù)據(jù)查詢的基類PendingDeprecationWarning關于特性將會被廢棄的警告IndexError序列中沒有此索引(index)RuntimeWarning可疑的運行時行為(runtimebehavior)的警告KeyError映射中沒有這個鍵SyntaxWarning可疑的語法的警告UserWarning用戶代碼生成的警告MemoryError內(nèi)存溢出錯誤(對于Python解釋器不是致命的)2.異常處理在程序設計中對各種可以預見的異常情況進行處理稱為異常處理。合理恰當?shù)厥褂卯惓L幚砜梢允钩绦蚋咏眩哂懈鼜姷娜蒎e性和更好的用戶體驗,不會因為用戶不小心的錯誤輸入或其它原因而造成程序運行終止。Python中異常處理是通過一些特殊結(jié)構(gòu)的語句實現(xiàn)的,主要有以下幾種結(jié)構(gòu)形式。(1)try…except…結(jié)構(gòu)語法結(jié)構(gòu)為:try:代碼塊1 #此處放置可能引起異常的語句exceptException[asreason]:代碼塊2#如果try中代碼塊不能正常執(zhí)行,則執(zhí)行此處代碼塊進行異常處理(2)try…except…else…結(jié)構(gòu)語法結(jié)構(gòu)為:try:代碼塊1 #此處放置可能引起異常的語句exceptException[asreason]:代碼塊2#如果try中代碼塊不能正常執(zhí)行,則執(zhí)行此處代碼塊進行異常處理else:代碼塊3#如果try中的代碼沒有引發(fā)異常,則在執(zhí)行完try中的代碼后,繼續(xù)執(zhí)行此處代碼塊(3)帶有try…多個except…的結(jié)構(gòu)如果上例用戶輸入時,輸入的是非數(shù)值,使用exceptZeroDivisionError排查異??赡苓€不夠,還會出現(xiàn)數(shù)值類型的錯誤,這時需要用多個except…try…結(jié)構(gòu),其語法結(jié)構(gòu)為:try:代碼塊1#可能引發(fā)異常的代碼塊exceptException1:#Exception1是可能出現(xiàn)的一種異常代碼塊2 #處理Exception1異常的語句exceptException2:#Exception2是可能出現(xiàn)的另種異常代碼塊3 #處理Exception2異常的語句[else:]#可以沒有else子句塊代碼塊4#在以上所有Exception異常都未出現(xiàn)時,執(zhí)行此處代碼塊(4)try...except...finally…結(jié)構(gòu)語法結(jié)構(gòu)為:try:代碼塊1 #可能引發(fā)異常的代碼塊exceptException[asreason]:#此語句也可直接寫成except:代碼塊2 #用來處理異常的代碼塊finally代碼塊3#無論異常是否發(fā)生此處代碼塊都會執(zhí)行(三)實訓任務實訓任務包括課堂實例、精選案例兩大部分、本教材中僅列出了課堂實例內(nèi)容。例3-24:計算5除以x的值,其中x需要用戶輸入。如果用戶輸入0,會報錯導致程序不能繼續(xù)運行,使用try…except異常處理來避免程序錯誤。a=input("請輸入除數(shù):")try:x=int(a)print(5/x)exceptException:例3-25:計算5除以x的值,其中x需要用戶輸入。如果用戶輸入0,會報錯導致程序不能繼續(xù)運行,使用try…except…else…異常處理來避免程序錯誤。a=input("請輸入除數(shù):")try:x=int(a)print(5/x)exceptZeroDivisionError:print("被零除")else:print("正確")例3-26:計算5除以x的值,其中x需要用戶輸入。如果用戶輸入0,會報錯導致程序不能繼續(xù)運行,使用try…多個except…異常處理來避免程序錯誤。a=input("請輸入除數(shù):")
try:
x=int(a)
print(5/x)
exceptZeroDivisionError:
print("被零除")
exceptValueError:
print("輸入的不是數(shù)字")
else:
print("正確")例3-27:計算5除以x的值,其中x需要用戶輸入。如果用戶輸入0,會報錯導致程序不能繼續(xù)運行,使用try…except…finally…異常處理來避免程序錯誤。a=input("請輸入除數(shù):")try:x=int(a)print(5/x)except:print("輸入錯誤")finally:print("下一步")八、特色與創(chuàng)新以實訓任務為核心,理論與操作相結(jié)合,重視學生動手實踐能力的培養(yǎng)。九、反思與診改1.教案實施是否順利是2.是否達到教學目標是3.教學過程中是否滿足學生的個性化需要是4.學生學習方式是否有變化是5.采取的課堂管理是否有效是6.通過此次課程,是否改變教學理念是其他:
教案11授課單元第3章開始程序設計授課形式教學做一體化授課學時2授課地點授課對象授課班級一、教材分析教學內(nèi)容精選真題教學標準《Python程序設計》課程標準參考教材《Python程序設計》王小寧二、學情分析學生現(xiàn)在已經(jīng)學過信息技術基礎,有一定的計算機硬件與軟件基礎。三、教學目標知識目標掌握數(shù)字類型的格式化輸出;掌握字符串的基本操作;掌握列表、元組、字典的創(chuàng)建與操作。掌握程序的結(jié)構(gòu)技能目標能夠根據(jù)指定要求格式化輸出數(shù)字;能夠?qū)α斜?、元組、字典進行操作;能夠設計程序結(jié)構(gòu)情感與思政目標具有規(guī)范的企業(yè)編程風格和習慣、良好的排查程序錯誤的能力;具有良好的分析問題和解決問題的能力、溝通和協(xié)作和學習能力;熟悉課程中涉及到的專業(yè)詞匯。四、教學重難點教學重點字符串、列表、字典的操作;程序結(jié)構(gòu)設計教學難點數(shù)字的格式化輸出;列表、字典的操作;循環(huán)結(jié)構(gòu)與中斷五、教學方法教法講授法、演示法學法實驗法六、教學資源與手段教學資源素材庫、實訓指導書教學手段教學做一體化七、教學流程(一)實訓任務1.猴子吃桃猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。2.列表元素計算a和b是兩個列表變量,列表a為[3,6,9]已給定,鍵盤輸入列表b,計算a中元素與b中對應元素乘積的累加和。例如,鍵盤輸入列表b為[1,2,3],累加和為1*3+2*6+3*9=42,因此,屏幕輸出計算結(jié)果為42。3.裴波那契數(shù)列根據(jù)裴波那契數(shù)列的定義,F(xiàn)(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2),輸出不大于100的序列元素。例如:屏幕輸出實例為:0,1,1,2,3,…4.列表元素計算并生成新列表A和b是兩個長度相同的列表變量,列表a為[3.6.9]已給定,鍵盤輸入列表b,計算a中元素與b中對應元素的和形成的列表c,在屏幕上輸出。例如:鍵盤輸入列表b為[1,2,3],鍵盤輸出計算結(jié)果為[4,8,12]5.多列表元素組合a和b是兩個列表變量,列表a為[3,6,9]已給定,鍵盤輸入列表b,將a列表的三個元素插入列表中對應的前三個元素的后面,并顯示輸出在屏幕上。例如:鍵盤輸入列表b為{1,2,3},因此,屏幕輸出計算結(jié)果為[1,3,2,6,3,9]6.生成新列表獲得用戶輸入的以逗號分隔的三個數(shù)字,記為a、b、c,以a為起始數(shù)值,b為差,c為數(shù)值的數(shù)量,產(chǎn)生一個遞增的等差數(shù)列,將這個數(shù)列以列表格式輸出。7.字符串替換獲得用戶輸入的一個數(shù)字,其中數(shù)字字符(0到9)用對應的中文字符“O一二三四五六七八九”替換,輸出替換后的結(jié)果。8.字符串分割組合輸出程序接收用戶輸入的五個數(shù),以逗號分隔。將這些數(shù)字按照輸入順序輸出,每個數(shù)字占10個字符寬度,右對齊,所有數(shù)字顯示在同一行。例如:輸入:23,42,543,56,71輸出:234254356719.正整數(shù)輸出程序接收用戶輸入的一個數(shù)字并判斷是否為正整數(shù),如果不是正整數(shù),則顯示“請輸入正整數(shù)”并等待用戶重新輸入,直至正整數(shù)為止,并顯示輸出該正整數(shù),例如:輸入:請輸入一個正整數(shù):357輸出:35710.多行格式化輸出接收用戶輸入的一個小于20的正整數(shù),在屏幕上逐行遞增顯示從01到該正整數(shù),數(shù)字實現(xiàn)的寬度為2,不足位置補0,后面追加一個空格,然后顯示“>”號,“>”號的個數(shù)等于行首數(shù)字。例如:輸入:3輸出:01>02>>03>>>11.統(tǒng)計數(shù)字和字母數(shù)量讓用戶輸入一串數(shù)字和字母混合的數(shù)據(jù),然后統(tǒng)計其中數(shù)字和字母的個數(shù),顯示在屏幕上。例如:輸入:Fda243fdw3輸出:數(shù)字個數(shù):4,字母個數(shù):612.生成通知書已有列表std=[['張三',90,87,95],['李四',83,80,87],['王五',73,57,55]],將std列表里的姓名和成績與已經(jīng)定義好的模板拼成一段話,顯示在屏幕上。例如:親愛的張三,你的考試成績是英語90,數(shù)學87,Python語言95,總成績272.特此通知。13.計算用戶輸入數(shù)字和并格式化輸出接收用戶輸入的一個大于10小于10的8次方十進制正整數(shù),輸出這個正整數(shù)各字符的和,以25位寬度,居中顯示,采用等號=填充。例如:鍵盤輸入1357,屏幕輸出===========16===========14.統(tǒng)計中文字符個數(shù)接收用戶輸入的數(shù)據(jù),該數(shù)據(jù)僅由字母和中文混合構(gòu)成,無其他類型字符,統(tǒng)計并輸出中文字符出現(xiàn)的個數(shù)。15.輸出最大值接收用戶輸入的以英文逗號分隔的一組數(shù)據(jù),其中,每個數(shù)據(jù)都是整數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣西北海市農(nóng)業(yè)技術服務中心面向社會招聘工作人員1人備考考試試題及答案解析
- 2025重慶機床(集團)有限責任公司招聘4人備考考試題庫及答案解析
- 2026年德州市第六人民醫(yī)院公開招聘備案制工作人員(45名)備考筆試試題及答案解析
- 2025遼寧沈陽吉馳汽車產(chǎn)業(yè)發(fā)展有限公司市場化選聘副總經(jīng)理招聘2人參考考試題庫及答案解析
- 2025國家統(tǒng)計局尖扎調(diào)查隊面向尖扎縣招聘全日制輔助調(diào)查員1人備考考試試題及答案解析
- 2025新疆伊犁州奎屯市招聘公益性崗位1人備考筆試題庫及答案解析
- 河北單招地理真題及答案
- 2025年測繪技術面試題及答案
- 2025黑龍江鶴崗市興山區(qū)招聘公益性崗位人員60人備考筆試題庫及答案解析
- 道德與法治國土課件
- 外科手術病歷書寫規(guī)范與要點
- 2025年機械員考試題庫答案
- 2025新《安全生產(chǎn)法》培訓試題及答案
- 2025至2030年中國絕緣油市場現(xiàn)狀分析及前景預測報告
- DB 4116T 076-2025紅梨優(yōu) 質(zhì)豐產(chǎn)栽培技術規(guī)程
- 健康生活方式指導員培訓
- 右額顳葉腦出血護理查房
- 華為視覺識別規(guī)范手冊中文版
- T/CCAS 010-2019水泥窯協(xié)同處置飛灰預處理產(chǎn)品水洗氯化物
- 變壓器油中溶解氣體在線監(jiān)測裝置技術規(guī)范書
- 固定資產(chǎn)投資項目節(jié)能驗收報告(2025年)
評論
0/150
提交評論