Python程序設(shè)計基礎(chǔ) 教案9 字符串與集合函數(shù)_第1頁
Python程序設(shè)計基礎(chǔ) 教案9 字符串與集合函數(shù)_第2頁
Python程序設(shè)計基礎(chǔ) 教案9 字符串與集合函數(shù)_第3頁
Python程序設(shè)計基礎(chǔ) 教案9 字符串與集合函數(shù)_第4頁
Python程序設(shè)計基礎(chǔ) 教案9 字符串與集合函數(shù)_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

課程單元教學設(shè)計課程名稱:程序設(shè)計基礎(chǔ)課程性質(zhì):?必修課□選修課學時學分:3學分56學時開課學期:2023學年第一學期教師姓名:陳建勇教師職稱:副教授授課班級:人工智能23-1和23-2所屬專業(yè)(教研室):人工智能技術(shù)應用開課部門:信息技術(shù)學院溫州科技職業(yè)學院教學督導處(診改辦)制二○二三年九月

《程序設(shè)計基礎(chǔ)》課程單元教學設(shè)計本單元標題:字符串與集合函數(shù)序號9授課班級人工智能23-2上課時間16周12月11日第1-2節(jié)16周12月13日第3-4節(jié)上課地點篤1-609篤1-220人工智能23-116周12月12日第5-8節(jié)篤1-412學情分析上次課,學生已經(jīng)認識了復雜數(shù)據(jù)類型,如列表,元組.它們是序列的具體表現(xiàn)形式.學生通過這兩種具體形式的學習,掌握了序列的基本操作方法.除此之外,序列還有其他表現(xiàn)形式,如今天要學習的字符串.字符串在編程中是經(jīng)常會使用到的一種數(shù)據(jù)類型.通過今天的學習,學生將對字符串有一個比較全面的認識.教學目標能力(技能)目標知識目標情感與價值目標理解字符串的作用,學會字符串的常用方法.理解集合的作用,掌握集合的常用方法.了解字符串的定義熟悉字符串的常用函數(shù).熟悉集合的操作函數(shù).1.Python提供了豐富的內(nèi)置函數(shù)和字符串處理方法,需要學生靈活掌握和學會查看文檔.重點難點及解決方法教學重點教學難點解決方法熟悉字符串常用函數(shù)的語法規(guī)則和調(diào)用.熟悉集合常用函數(shù)的語法規(guī)則和調(diào)用.根據(jù)實際問題,學會利用字符串方法去解決問題.字符串的特殊用法:轉(zhuǎn)義字符,三引號用法.1.通過多媒體展示、動畫演示及播放程序設(shè)計方面的視頻.2.結(jié)合教師的講解,來突破本次課程的重點和難點。教學資源及教學用具1.參考書:崔曉軍,肖紅宇,python程序設(shè)計基礎(chǔ),電子工業(yè)出版社,2023年1第1版。2.網(wǎng)絡(luò)教學資源:傳智播客網(wǎng)站:/3.教學用具:多媒體、筆記本(或臺式機)電腦課后教學反思

教學過程設(shè)計步驟與時間主要任務教師活動學生活動設(shè)計意圖與教學方法步驟一(2分鐘)課堂組織考勤課堂準備嚴肅課堂紀律步驟二(8分鐘)復習對學生匯報進行點評課前三分鐘匯報提升學生的表達能力步驟三(30分鐘)字符串的定義和訪問講解+實操演示邊學邊練課程思政;步驟四(20分鐘)長字符串換行問題講解+實操演示邊學邊練案例任務驅(qū)動步驟五(20分鐘)轉(zhuǎn)義字符和原字符串講解+實操演示邊學邊練案例任務驅(qū)動步驟六(30分鐘)字符串的常見方法任務說明邊學邊練情境教學步驟七(20分鐘)集合常見函數(shù)講解+實操演示邊學邊練案例任務驅(qū)動步驟八(20分鐘)學生課內(nèi)實訓講解+實操演示邊學邊練案例任務驅(qū)動步驟九(10分鐘)小結(jié)并作業(yè)布置總結(jié);作業(yè)布置課堂小結(jié);學生記錄作業(yè)梳理知識點脈絡(luò);作業(yè)練習鞏固授課詳細內(nèi)容[步驟一]利用超星學習通平臺,進行考勤結(jié)果通報,做好事假遲到同學的記錄。開啟KK錄像機,進行課程錄屏,作為課程教學資源,上傳超新學習通上,供學生課后回看再學習。[步驟二]2、復習回顧學生活動:利用課前三分鐘匯報,了解學生對上次課的函數(shù)自定義的掌握情況,以便查漏補缺,了解學生對這塊知識的理解和實操情況。[步驟三]課程思政:Python提供了豐富的內(nèi)置函數(shù)和字符串處理方法,需要學生靈活掌握和學會查看文檔.字符串的定義和訪問.教師活動:教師講解字符串的定義,即創(chuàng)建字符串.字符串是Python中最常用的數(shù)據(jù)類型,可以使用引號(單引號'或雙引號")來創(chuàng)建字符串。變量名='字符串的值'變量名="字符串的值"var1='HelloWorld!'var2="PythonRunoob"學生活動:模仿教師操作,完成字符串創(chuàng)建,為后續(xù)操作做好準備.教師活動:講解字符串的訪問并案例演示.Python訪問子字符串,可以使用方括號來截取字符串。使用“變量[頭下標:尾下標]”的方式,就可以截取相應的字符串,從左到右索引默認從0開始,從右到左索引默認從?1開始,下標可以為空,表示取到頭或尾。設(shè)計意圖:復習先前列表元素和部分元素訪問方式,提醒學生字符串訪問也是相同的,讓學生自己完成如下案例.【示例4.10】獲取字符串中前5個字符、第3個到第6個字符及最后5個字符的子字符串。var="Helloworld!"print("前5個字符為",var[:5])print("第3到第6個字符為",var[3:6])print("最后5個字符為",var[-5:])print("姓名為%s,年齡為%d"%('James',37))學生活動:學生自行完成,并讓學生上臺演示.為了更好的讓學生字符串訪問在實際中的運用,給出課內(nèi)拓展案例:案例:輸入某學生學號8位數(shù)字,輸出該生所在的年級,班級以及班級的學號(前4位為年級,5-6位為班級,最后兩位是班級序號)#依據(jù)學號,提取信息xh=input('請輸入學號(8位數(shù)字):')iflen(xh)==8:print("該生的學號是:"+xh)else:print("錯誤的學號!")nj=xh[0:4]bj=xh[4:6]bjxh=xh[6:8]print("該生是{}級{}班{}號學生".format(nj,bj,bjxh))教學難點:有了前一題的教師講解和學生實操,做本題的難點已經(jīng)被突破,可以讓學生上臺演示或講解自己的解決思路.[步驟四]長字符串換行問題.教師活動:講解三引號.教學難點:三引號,雙引號,單引號的換行可以對比分析,掌握技巧.Python三引號允許一個字符串跨多行,字符串中可以包含換行符、制表符及其他特殊字符。三引號讓程序員從引號和特殊字符串的泥潭中解脫出來.既可以是三個單引號,也可以是三個雙引號,如下所示:變量名="""字符串內(nèi)容"""變量名='''字符串內(nèi)容'''#三引號的使用:輸入換行輸出也是換行.print('''Thisisthefirstsentence.Thisisthesecondsentence.Thisisthethirdsentence.''')用普通的單引號也可以表示長字符串,但必須在每一行的結(jié)尾地方放一個放一個反斜桿\,這個反斜桿表示這一行還沒結(jié)束,直接將兩行進行連接.#同行內(nèi)容多行輸入print('hello\world')#雙引號直接換行text="HelloWorld"print(text)#單引號的使用:長字符串要換行需人為添加換行符\nprint('Thisisthefirstsentence.\n\Thisisthesecondsentence.\n\Thisisthethirdsentence.')[步驟五]轉(zhuǎn)義字符和原字符串.教師活動:轉(zhuǎn)義字符介紹.教學難點:轉(zhuǎn)義字符是根據(jù)需要才用,關(guān)于轉(zhuǎn)義字符還有很多細節(jié)可以看菜鳥教程中的開發(fā)文檔.轉(zhuǎn)義字符用于表示不能直接表示的特殊字符,主要是添加一個\.#換行符text="HelloWorld"print(text)#制表符text="Hello\tWorld"print(text)#雙引號text="Hesaid,\"HelloWorld!\""print(text)#單引號text='Hesaid,\'HelloWorld!\''print(text)#反斜杠text="C:\\Users\\Username\\Documents"print(text)教師講解:原始字符串。在一個字符串前加一個字符”r”,表示這個字符串是原始字符串.s='hello\nworld'S02=r'hello\nworld'print(s)print(s02)教師演示:字符串不可修改.字符串除了具有類似列表,元組的通用操縱外,也有自己獨特的一些操作.下面講解這些獨特的操作.Python中的字符串任意元素不可修改.s='hello's[0]='H'[步驟六]字符串的常見方法.教師講解和演示:通過具體的案例,來掌握字符串的常用用法.案例1:字符串的常見操作.因為比較簡單,這塊代碼大部分直接給學生,如果讓學生從頭到尾敲,沒有必要.strs="TheyarestudyingPython!"#創(chuàng)建字符串print(strs.split())#以空字符為分割符將字符串全部分割print(strs.split("",2))#以空格字符為分割符將字符串分割2次strs2="studyingPython!"print('-'.join(strs2))#用“-”連接strs2中的字符strs3=["a","bc","def"]print(''.join(strs3))#創(chuàng)建列表,用空字符將列表strs3中元素連接為字符串strs4='MonDAYTuesDAYWednesDAYThursDAYFriDAYSaturDAYSunDAY'print(strs4.replace('DAY','day'))#將strs4中的DAY替換為dayprint(strs4.replace('DAY','day',4))#將strs4中的day替換為DAY,限制次數(shù)strs5="110021101willstudyhard120022"#移除strs5兩側(cè)的1print(strs5.strip('1'))print(strs5.strip('01'))print(strs5.strip('2'))print(strs5.strip('02'))print(strs5.strip('02'))print(strs5.strip('102'))print(strs5.strip('102'))strs6="SHeisaBEAUTIFULgiRL!"print(strs6.lower())#將strs6中的大寫字符轉(zhuǎn)為小寫print(strs6.upper())#將strs6中的小寫字符轉(zhuǎn)為大寫strs7="LUCK2020best"print(strs7.isalnum())#判斷newstr中是否只有數(shù)字或字母案例2:鍵盤輸入一系列數(shù)字,數(shù)字之間用逗號進行分割,請計算輸入數(shù)字的和,采用def方式.defsum_of_numbers():numbers=input("請輸入一系列數(shù)字,用逗號進行分割:")num_list=numbers.split(',')sum=0fornuminnum_list:sum+=float(num)returnsumprint(sum_of_numbers())選做案例3:根據(jù)輸入內(nèi)容提取大小寫,數(shù)字和其他特殊字符,統(tǒng)計個數(shù),用def方式.defextract_chars(input_str):upper_case=0lower_case=0digit=0special_char=0forcharininput_str:ifchar.isupper():upper_case+=1elifchar.islower():lower_case+=1elifchar.isdigit():digit+=1else:special_char+=1returnupper_case,lower_case,digit,special_charinput_str="AbC123!@#"upper_case,lower_case,digit,special_char=extract_chars(input_str)print("大寫字母個數(shù):",upper_case)print("小寫字母個數(shù):",lower_case)print("數(shù)字個數(shù):",digit)print("特殊字符個數(shù):",special_char)學生活動:教師引導學生進行編程思路分析,讓學生進行探究,可以讓會的學生或有一些想法的學生上臺進行編程.[步驟七]集合常見函數(shù).教師活動:下面對集合的常用函數(shù)進行實操.設(shè)計意圖:主要讓學生了解集合的基本運算的操作方法,如交集,并集,差集,補集.在教學中,需要結(jié)合學生中學數(shù)學關(guān)于集合的知識,可以借助韋恩圖進行直觀教學.案例分析:有兩組學生,第一組學生選修了語文課,第二組學生選修了數(shù)學課。但是其中有一些學生既選修了語文,也選修了數(shù)學,要求快速定位到這種學生#尋找交集print("========尋找交集=============")stu_math={"陳司","李大","王二"}stu_chinese={"陳司","王二"}#print(ersection(stu_math,stu_chinese))#方法1print(stu_math&stu_chinese)#方法2:采用交集符號&'''案例分析:尋找差集,并集'''s1=set([3,5,8])s1.add(9)#添加一個元素foriins1:#訪問集合s1的所有元素print(i,"\t")s2=set([5,11,13])print("========尋找差集=============")print(s1.difference(s2))#查找集合s1和集合s2不同的元素print("========尋找并集=============")#print(set.union(s1,s2))#計算集合s1和集合s2的并集print(s1|s2)#方法2:采用并集符號''''案例分析:小明兩天內(nèi)需要完成:寫字、看書、畫畫、澆花、跑步、練琴、打球、做清潔、喝茶、跳舞這10項任務,他將這10項任務存放在一個總?cè)蝿樟斜碇?。今天小明已?jīng)完成了4項任務,請找出小明未完成的任務'''#創(chuàng)建一個總?cè)蝿占蟭otal_tasks={"寫字","看書","畫畫","澆花","跑步","練琴","打球","做清潔","喝茶","跳舞"}#創(chuàng)建一個已完成的任務集合completed_tasks={"寫字","看書","畫畫","澆花"}#使用集合的差集方法找出未完成的任務print("======尋找補集======")uncompleted_tasks=total_tasks-completed_tasksprint(uncompleted_tasks)學生活動:學生模仿教師實操,并且學會差菜鳥教程中的開發(fā)文檔進行解決.[步驟八]學生課內(nèi)實訓.學生課內(nèi)訓練:小明和小王都有不同的愛好,在控制臺分別輸入小明和小王的愛好列表(多個愛好之間使用“,”分隔),分別輸出兩人共同的愛好、兩個人所有的愛好及小明有的但小王沒

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論