《Python程序設(shè)計項目化教程》高職全套教學(xué)課件_第1頁
《Python程序設(shè)計項目化教程》高職全套教學(xué)課件_第2頁
《Python程序設(shè)計項目化教程》高職全套教學(xué)課件_第3頁
《Python程序設(shè)計項目化教程》高職全套教學(xué)課件_第4頁
《Python程序設(shè)計項目化教程》高職全套教學(xué)課件_第5頁
已閱讀5頁,還剩390頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《Python程序設(shè)計項目化教程》項目1Python開發(fā)初體驗項目2簡易計算器—分支結(jié)構(gòu)項目3循環(huán)結(jié)構(gòu)項目4打印九九乘法表與星號陣項目5簡易銀行系統(tǒng)—函數(shù)項目6烏龜吃魚游戲—面向?qū)ο箜椖?能否構(gòu)成三角形—異常處理項目8簡易通訊錄—文件操作項目9鳶尾花數(shù)據(jù)集分析—numpy項目10泰坦尼克號數(shù)據(jù)集分析—pandas項目11全國人口及收入消費變化趨勢—matplotlib全套可編輯PPT課件

本課件是可編輯的正常PPT課件項目一Python開發(fā)初體驗本課件是可編輯的正常PPT課件Contents目錄01.Python速覽02.搭建開發(fā)環(huán)境03.輸入/輸出—矩形面積04.認(rèn)識數(shù)據(jù)類型—數(shù)值和字符串05.標(biāo)準(zhǔn)庫使用—圓周長和面積06.項目小結(jié)本課件是可編輯的正常PPT課件PartOnePython速覽了解Python起源及特點了解Python名字由來和LOGO熟記Python官網(wǎng)網(wǎng)址掌握Python語言的主要特點了解Python兩個版本及其區(qū)別本課件是可編輯的正常PPT課件Python起源Python的起源Python的設(shè)計者GuidovanRossum(吉多·范羅蘇姆),于1956年出生于荷蘭,1982年畢業(yè)于阿姆斯特丹大學(xué)(荷蘭文:UniversiteitvanAmsterdam,縮寫為UvA),并獲得了數(shù)學(xué)和計算機(jī)科學(xué)雙碩士學(xué)位。在1989年圣誕節(jié)期間為了打發(fā)無聊的時光,Guido設(shè)計并開發(fā)出了Python這種腳本解釋型語言,并于1991年公開發(fā)行了Python的第一個版本。Python的誕生Guido當(dāng)時非常喜歡看由“巨蟒劇團(tuán)”出演的電視劇“飛翔的馬戲團(tuán)”(即MontyPython'sFlyingCircus),是“巨蟒劇團(tuán)”(MontyPython)的粉絲。于是,Guido便以劇團(tuán)的名稱把編程語言命名為Python。雖然Python命名本意與動物蟒蛇并無關(guān)聯(lián),但是,依然把一對“雙蟒蛇”作為了該語言的官方()LOGO。Python起源本課件是可編輯的正常PPT課件Python主要特點1.簡潔Python的語法相較于其它語言來說簡潔明了,易于理解和學(xué)習(xí),使得開發(fā)者可以快速上手并編寫出高質(zhì)量的代碼。我們分別使用Java、Python等編程語言輸出“Hello”的程序?qū)Ρ热缦滤尽1菊n件是可編輯的正常PPT課件Python主要特點2.面向?qū)ο驪ython是完全面向?qū)ο蟮恼Z言,所有事物都視為對象,包括數(shù)值、字符串、函數(shù)等。這使得代碼組織和重用更為靈活和高效。3.強(qiáng)大的開發(fā)庫Python擁有豐富的標(biāo)準(zhǔn)庫和大量第三方庫,提供了廣泛的功能和工具。4.解釋型語言Python是解釋型語言,代碼在運行時由解釋器逐行解釋執(zhí)行。5.其他特點Python屬于高級語言,具有良好的可移植性及安全性。本課件是可編輯的正常PPT課件Python版本01Python2.xPython2.x是Python語言的一個重要版本,它支持許多Python3.x的特性,但已經(jīng)停止維護(hù)。02Python3.xPython3.x是Python語言的最新版本,它包含了許多新特性和改進(jìn),是Python開發(fā)的首選版本。03Python2.x與Python3.x的差異Python2.x和Python3.x在語法、庫和API等方面存在一些差異,Python官方已于2020年1月1日宣布不再維護(hù)Python2版本,各個第三方庫也逐漸放棄支持Python2,本教材主要講解Python3。本課件是可編輯的正常PPT課件課堂小測1.以下關(guān)于Python的說法正確的是()A.Python與C語言一樣是面向過程的程序設(shè)計語言B.Python與面向?qū)ο笳Z言C++一樣同屬于編譯型語言C.良好的可移植性是Python區(qū)別于其他編程語言的主要特點D.print2+3是Python2的正確語法,其輸出結(jié)果為5本課件是可編輯的正常PPT課件PartTwo搭建開發(fā)環(huán)境培養(yǎng)通過官網(wǎng)下載安裝Python3并配置環(huán)境變量的能力掌握使用IDLE交互式開發(fā)Python的能力掌握使用文本編輯源程序文件開發(fā)Python的能力掌握通過Anaconda安裝JupyterNotebook的能力了解PyCharm、Spyder等集成開發(fā)環(huán)境的安裝和使用本課件是可編輯的正常PPT課件安裝配置Python3下載地址:/downloads/下載Python301打開鏈接后,選擇相應(yīng)的Python版本,下載安裝,如圖1-1所示。02安裝Python3假設(shè)安裝在了C:\Python\目錄下,則在安裝目錄C:\Python\Doc下有Python幫助文檔,如圖1-2所示。圖1-1安裝包下載界面圖1-2幫助文檔本課件是可編輯的正常PPT課件安裝配置Python303設(shè)置環(huán)境變量以Win10操作系統(tǒng)為例,搜索環(huán)境變量,單擊“編輯系統(tǒng)環(huán)境變量”(圖1-3所示)→點擊“環(huán)境變量”按鈕(圖1-4所示)→打開“系統(tǒng)變量”對話框→選中“Path”→單擊“編輯”按鈕→單擊“新建”按鈕→輸入Python安裝目錄“C:\Python\”→單擊“確定”按鈕→單擊“確定”按鈕,如圖1-5所示。圖1-3搜索環(huán)境變量圖1-4打開環(huán)境變量圖1-5配置環(huán)境變量本課件是可編輯的正常PPT課件Python解釋器自帶IDLEIDLE是Python解釋器自帶的集成開發(fā)環(huán)境,提供了基本的代碼編輯和調(diào)試功能。IDLE簡介安裝并配置好環(huán)境變量后,通過計算機(jī)左下角“開始”找到剛安裝好的Python,打開IDLE(IntegratedDevelopmentandLearningEnvironment),進(jìn)入交互式編程界面,在提示符>>>后輸入要執(zhí)行的命令,然后按回車鍵解釋執(zhí)行,如圖1-6所示。IDLE使用IDLE提供了代碼編輯、運行、調(diào)試等功能,可以滿足初學(xué)者的基本開發(fā)需求。IDLE功能圖1-6交互式環(huán)境開發(fā)本課件是可編輯的正常PPT課件文本編輯.py源程序并解釋執(zhí)行假設(shè)在D:\Python_WorkSpace\Chapter1目錄下新建一個記事本文件print_test.txt,編輯兩條Python輸出語句并保存,如圖1-7所示。01創(chuàng)建記事本文件把文件后綴名由.txt修改為.py文件,如圖1-8所示。02修改為Python源文件后綴打開“命令提示符”(點擊Win+R,然后在提示框輸入cmd),先鍵入d:并回車進(jìn)入D盤,再使用cd命令更改目錄到D:\Python_WorkSpace\Chapter1下,然后調(diào)用Python解釋器解釋執(zhí)行文件print_test.py,輸出運行結(jié)果,如圖1-9所示。03解釋執(zhí)行.py源文件圖1-7記事本文件圖1-8修改為.py后綴圖1-9執(zhí)行源文件本課件是可編輯的正常PPT課件Python開發(fā)環(huán)境初識驗證代碼IDE種類0103所有案例代碼均在JupyterNotebook中驗證通過,確保學(xué)習(xí)順利。PyCharm、JupyterNotebook、Spyder等是常用的PythonIDE。02參考相關(guān)資料安裝IDE,本教材采用Anaconda安裝JupyterNotebook。安裝IDE本課件是可編輯的正常PPT課件PartThree輸入/輸出—矩形面積【任務(wù)描述】從鍵盤輸入矩形的長和寬,計算其面積并輸出?!救蝿?wù)分析】該任務(wù)涉及數(shù)值輸入操作,變量及輸出操作。掌握print輸出函數(shù)的原型及調(diào)用掌握input輸入函數(shù)的原型及調(diào)用掌握int、float及eval的使用和差別掌握type查看類型函數(shù)的使用本課件是可編輯的正常PPT課件變量及類型查看函數(shù)type保留字(關(guān)鍵字):指在編程語言中已經(jīng)定義過的字,編程者不能再將這些字作為自定義標(biāo)識符使用。保留字通常與Python版本有關(guān)。Python3.8.5版本,其保留字共有35個。變量:是有名字(標(biāo)識符)的內(nèi)存空間,且其中存儲和表示的值可以改變。本課件是可編輯的正常PPT課件變量及類型查看函數(shù)type變量類型:Python中變量本身無類型,也無須用類型關(guān)鍵字指定,其類型是由其值的類型決定的,可使用type()函數(shù)查看變量或數(shù)據(jù)的類型。type函數(shù)使用示例如下。變量名(標(biāo)識符)命名規(guī)則:由大小寫英文字母(A~Z,a~z)、數(shù)字(0~9)、下畫線(_)和漢字或其組合構(gòu)成,但不能以數(shù)字開頭。例如,Class_5、_a、姓名等都是Python合法的標(biāo)識符;而5a、a@、¥等都是錯誤的標(biāo)識符。另外,Python標(biāo)識符對大小寫敏感,即A和a為不同的標(biāo)識符。標(biāo)識符不能與保留字相同。本課件是可編輯的正常PPT課件print函數(shù)使用value:輸出各數(shù)據(jù)項的值,以逗號間隔。sep:可選,輸出各value值的間隔符,默認(rèn)空格,也可顯式指定,如逗號sep=','。end:可選,輸出所有value后的結(jié)束符,默認(rèn)換行,也可顯式指定,如空格end=''。參數(shù)解析本課件是可編輯的正常PPT課件print函數(shù)使用1.未顯式指定輸出數(shù)據(jù)項的間隔符,默認(rèn)為空格。2.顯式指定各輸出數(shù)據(jù)項的間隔符。3.未顯式指定各數(shù)據(jù)項輸出完畢后的結(jié)束符,默認(rèn)為換行。4.既指定數(shù)據(jù)項的輸出間隔符,又指定結(jié)束符。本課件是可編輯的正常PPT課件input函數(shù)使用prompt:可選,通常為增強(qiáng)代碼可讀性的輸入提示信息。參數(shù)解析注:不管輸入的是字符串、數(shù)值還是其他類型,該函數(shù)均返回其對應(yīng)的字符串類型。本課件是可編輯的正常PPT課件input函數(shù)使用1.從鍵盤上輸入一句話,直接保存到變量s中2.使用input()輸入數(shù)值,返回值保存到變量中,使用type()函數(shù)查看其返回值類型。3.input函數(shù)把輸入的數(shù)據(jù)均以字符串類型返回,如果輸入的為數(shù)值,則可通過強(qiáng)制類型轉(zhuǎn)換把數(shù)值字符串轉(zhuǎn)換為整型數(shù)int或浮點數(shù)float;或使用更通用的eval()函數(shù)從數(shù)值字符串中提取出相應(yīng)的數(shù)值。本課件是可編輯的正常PPT課件課堂小測以下關(guān)于Python的說法中錯誤的是()A.可使用type()查看某數(shù)據(jù)或變量的類型B.不管輸入的是整型、浮點型還是字符串型,input函數(shù)均返回字符串型C.a(chǎn)=input('輸入整數(shù):'),若輸入3.14,則a為“3.14”D.a(chǎn)=int(input('輸入整數(shù):')),若輸入3.14,則a為3本課件是可編輯的正常PPT課件PartFour認(rèn)識數(shù)據(jù)類型—數(shù)值和字符串掌握常見算術(shù)運算符的使用掌握print的格式化輸出方式掌握數(shù)值類型的數(shù)據(jù)掌握字符串類型的表示和使用本課件是可編輯的正常PPT課件數(shù)值類型及print格式化輸出Python語言的數(shù)據(jù)類型主要有數(shù)值、字符串、列表、元組、集合和字典等數(shù)值型數(shù)據(jù)通常包括:整數(shù)和浮點數(shù)type函數(shù)可以查看數(shù)值類型運算符描述舉例+加法5+2.15=7.15-減法5-3=2*乘法2*3=6/除法11/4=2.75//相除取商11//4=2%相除取余11%4=3**冪次方2**10=1024常見運算符本課件是可編輯的正常PPT課件數(shù)值類型及print格式化輸出print調(diào)用格式:print(格式控制%(輸出項列表))格式控制部分為字符串,當(dāng)輸出項數(shù)多于一個時,必須用()括起來,各輸出項之間用逗號隔開。python中有許多格式控制符,如十進(jìn)制常用%d或%i,八進(jìn)制用%o,浮點數(shù)用%f等等,詳細(xì)可見書中列舉。本課件是可編輯的正常PPT課件Python字符串起止邊界Python語言中字符串?dāng)?shù)據(jù)的起止邊界既可以是單引號也可以是雙引號。但若字符串本身含有單引號或雙引號,那么起止邊界不能直接含有起止邊界符,以免報錯。通常有如下兩種解決方案。引號形式不同字符串內(nèi)容中的引號形式與起止邊界不同,確保字符串正確解析轉(zhuǎn)義字符表示字符串內(nèi)容中的引號以轉(zhuǎn)義字符形式表示,單、雙引號均可作為起止邊界。本課件是可編輯的正常PPT課件PartFive標(biāo)準(zhǔn)庫使用—圓周長和面積【任務(wù)描述】輸入圓的半徑,計算并輸出其周長和面積,分別保留兩位和三位小數(shù)?!救蝿?wù)分析】該任務(wù)需使用標(biāo)準(zhǔn)庫math中的圓周率,以及保留小數(shù)位數(shù)的print輸出格式控制方法。了解常見的標(biāo)準(zhǔn)庫和第三方庫掌握標(biāo)準(zhǔn)庫的兩種調(diào)用方式本課件是可編輯的正常PPT課件模塊的兩種訪問方式在Python中,可以直接使用import模塊名導(dǎo)入模塊直接導(dǎo)入使用from語句可以導(dǎo)入模塊中的特定函數(shù)或類,可以使用from模塊名import屬性名或from模塊名import函數(shù)名使用from語句0102調(diào)用方式一:模塊名.屬性名或模塊名.函數(shù)名()調(diào)用方式二:屬性名或函數(shù)名()本課件是可編輯的正常PPT課件print格式化輸出格式化輸出使用print函數(shù)進(jìn)行格式化輸出,如print("圓周長:{:.2f}".format(a)),其中{:.2f}表示保留兩位小數(shù)。字符串格式化使用字符串格式化進(jìn)行輸出,如print("圓周長:%s"%(a)),其中%s表示字符串。f-string格式化使用f-string進(jìn)行格式化輸出,如print(f"圓周長:{a:.2f}"),其中:.2f表示保留兩位小數(shù)。注:%.nf:四舍五入保留小數(shù)點后n位。%.0f:四舍五入取整數(shù)部分。%f:通常默認(rèn)保留小數(shù)點后6位,不夠補(bǔ)0。本課件是可編輯的正常PPT課件課堂小測以下代碼執(zhí)行正確的是()A.frommathimportsqrtsqrt(-4)B.frommathimportsqrtmath.sqrt(4)C.importmathsqrt(4)D.importmathmath.sqrt(5)本課件是可編輯的正常PPT課件PartSix項目小結(jié)本課件是可編輯的正常PPT課件項目小結(jié)本課件是可編輯的正常PPT課件THANKS!本課件是可編輯的正常PPT課件項目二

簡易計算器———分支結(jié)構(gòu)本課件是可編輯的正常PPT課件設(shè)計一個簡易計算器,根據(jù)輸入數(shù)字進(jìn)行加(+)、減(-)、乘(*)、除(/)、相除取商(//)、相除取余(%)等進(jìn)行相應(yīng)的運算,并輸出其運算結(jié)果。項目描述本課件是可編輯的正常PPT課件Contents目錄01.判斷考試是否通過—if-else雙分支04.簡易計算器的項目實施02.判斷商品是否有促銷活動—if分支03.根據(jù)成績判斷等級—if-elif-else05A.項目小結(jié)本課件是可編輯的正常PPT課件PartOne判斷考試是否通過——if-else雙分支掌握if-else分支結(jié)構(gòu)掌握if-else的執(zhí)行流程能夠使用if-else解決實際問題本課件是可編輯的正常PPT課件if-else分支結(jié)構(gòu)【任務(wù)描述】輸入一成績,判斷其是否及格,成績大于等于60分及格,小于60分不及格。了解if-else分支結(jié)構(gòu)的語法格式注:if體和else體既可以是一條語句,也可以是多條語句,注意縮進(jìn)。本課件是可編輯的正常PPT課件任務(wù)流程與實施if-else分支結(jié)構(gòu)最重要的步驟就是畫出流程圖對于上述問題,我們可以畫出流程圖如下本課件是可編輯的正常PPT課件任務(wù)流程與實施若輸入成績58,則會進(jìn)入B房間,輸出結(jié)果如下:若輸入成績96,則會進(jìn)入A房間,輸出結(jié)果如下:本課件是可編輯的正常PPT課件PartTwo判斷商品是否有促銷活動—if分支掌握if分支結(jié)構(gòu)掌握if分支結(jié)構(gòu)的執(zhí)行流程能夠使用if分支結(jié)構(gòu)解決實際問題本課件是可編輯的正常PPT課件if分支結(jié)構(gòu)一商店為提升工作日的銷售額,策劃了優(yōu)惠促銷活動,星期一、二、四這三天,凡一次性購物總額在200元以上的,減免30元。幫顧客計算要付的金額。了解if分支結(jié)構(gòu)的語法格式畫出流程圖:本課件是可編輯的正常PPT課件字符串格式化函數(shù)formatformat格式:string.format(數(shù)據(jù)項列表)

保留小數(shù)點后n位:'{:.nf}'.format(num)。本課件是可編輯的正常PPT課件任務(wù)實施若滿足條件則輸出:不滿足任意一個條件則輸出:本課件是可編輯的正常PPT課件PartThree根據(jù)成績判斷等級—if-elif-else掌握if-elif-else級聯(lián)多分支結(jié)構(gòu)掌握if-elif-else級聯(lián)多分支結(jié)構(gòu)的執(zhí)行流程能夠使用級聯(lián)多分支結(jié)構(gòu)解決實際問題本課件是可編輯的正常PPT課件if-elif-else級聯(lián)多分支結(jié)構(gòu)輸入一成績,判斷其對應(yīng)等級,90分及以上為優(yōu)秀,大于等于80分且小于90分為良好,大于等于60分且小于80分為及格,小于60分為不及格。對于該任務(wù),任務(wù)總共有四種情況,這屬于多分支情況,可使用if-elif-else級聯(lián)多分支實現(xiàn)。我們先寫出if-elif-else級聯(lián)多分支結(jié)構(gòu)的語法格式說明:該結(jié)構(gòu)中可含有1個或多個elif部分,else部分可省略。從前往后依次判斷各條件表達(dá)式的值,如果某個條件表達(dá)式成立,即為邏輯真,則執(zhí)行其對應(yīng)的語句組,并終止整個分支結(jié)構(gòu)的執(zhí)行。如果上述所有表達(dá)式均不成立,即均為邏輯假且含有else部分時,則執(zhí)行對應(yīng)的else部分語句組。本課件是可編輯的正常PPT課件執(zhí)行流程與任務(wù)實施輸出結(jié)果如下:本課件是可編輯的正常PPT課件PartFour簡易計算器的項目實施本課件是可編輯的正常PPT課件項目實施運行結(jié)果如下:本課件是可編輯的正常PPT課件PartFive項目小結(jié)本課件是可編輯的正常PPT課件主要知識點總結(jié)知識點示例說明if分支結(jié)構(gòu)if條件表達(dá)式:

語句組A隱式雙分支:執(zhí)行語句組A和不執(zhí)行該語句組A兩種情況if-else分支結(jié)構(gòu)if條件表達(dá)式:

語句組A:else:

語句組B顯式雙分支:當(dāng)條件表達(dá)式的值為邏輯真時,執(zhí)行語句組A,否則執(zhí)行語句組Bif-elif-else分支結(jié)構(gòu)if條件表達(dá)式1:

語句組1elif條件表達(dá)式2:

語句組2…elif條件表達(dá)式n:

語句組nelse:

其他語句組該if-elif-else級聯(lián)多分支結(jié)構(gòu)的執(zhí)行流程是:

從前往后依次判斷各表達(dá)式的值,如果某表達(dá)式的值為真,則執(zhí)行對應(yīng)的分支語句組,并終止整個多分支結(jié)構(gòu)。若所有表達(dá)式的值均為假,且含有else時,則執(zhí)行對應(yīng)的else語句組。

else部分可以省略本課件是可編輯的正常PPT課件易錯知識點總結(jié)縮進(jìn)錯誤01這是由于縮進(jìn)不當(dāng),造成邏輯混亂。對上述代碼進(jìn)行修改:本課件是可編輯的正常PPT課件易錯知識點總結(jié)包含重復(fù)條件02條件的重復(fù)包含,雖然既無語法錯誤,也無運行時錯誤,且能得到正確結(jié)果,但為規(guī)范起見,本教材把這種邏輯不清晰的程序視為“錯誤”。對上述代碼進(jìn)行修改:本課件是可編輯的正常PPT課件易錯知識點總結(jié)語義錯誤03a=5為賦值表達(dá)式,其結(jié)果非邏輯值,故錯誤。a==5為關(guān)系表達(dá)式,其值為邏輯值對上述代碼進(jìn)行修改:本課件是可編輯的正常PPT課件THANKS!本課件是可編輯的正常PPT課件項目三

循環(huán)結(jié)構(gòu)本課件是可編輯的正常PPT課件Contents目錄01.抓娃娃游戲—while循環(huán)02.猜數(shù)字謎游戲—循環(huán)流程控制04.項目小結(jié)03.模擬發(fā)紅包程序—for循環(huán)、列表本課件是可編輯的正常PPT課件PartOne

任務(wù)一抓娃娃游戲—while循環(huán)本課件是可編輯的正常PPT課件while循環(huán)結(jié)構(gòu)【任務(wù)描述】抓娃娃游戲玩一局需要3元錢,根據(jù)充值卡中的金額判斷還能玩幾局。【任務(wù)分析】當(dāng)(while)充值卡中的余額(balance)大于等于3元時,游戲一直進(jìn)行(重復(fù)),同時每次支付3元,即balance-=3,直到balance小于3元時,游戲終止。while語句語法格式如下:執(zhí)行流程:首先判斷循環(huán)控制表達(dá)式Exp_cntrl的值,當(dāng)該表達(dá)式的值為邏輯真(True)時,會一直執(zhí)行循環(huán)體(語句組A),直到表達(dá)式的值為邏輯假(False)時,結(jié)束循環(huán)體執(zhí)行。流程圖如下:循環(huán)控制變量本課件是可編輯的正常PPT課件任務(wù)實施運行結(jié)果如下:參考代碼如下:本課件是可編輯的正常PPT課件鞏固案例【案例1】輸入任意一個十進(jìn)制正整數(shù),將其“反序”后輸出(若輸入:1234,則輸出:4321)把原數(shù)從最低位到最高位逐位分離→按照分離出的順序,用分離出的數(shù)字組成新的十進(jìn)制整數(shù)逐步分離出當(dāng)前n的最低位數(shù)字m為新數(shù)字,將剛分離的t作為低位,完成倒序去除已分離的低位,為下次分離做準(zhǔn)備本課件是可編輯的正常PPT課件鞏固案例【案例2】計算并輸出1-3+5-7+…-99的值。符號位:每執(zhí)行一次sign就變成原來的相反數(shù)數(shù)值位:實現(xiàn)奇數(shù)累加當(dāng)前數(shù)據(jù)項:組建當(dāng)前的數(shù)據(jù)保存在item中求和變量:將每一輪得出的數(shù)據(jù)累加到s中本課件是可編輯的正常PPT課件PartTwo任務(wù)二猜數(shù)字謎游戲—循環(huán)流程控制本課件是可編輯的正常PPT課件【任務(wù)描述】設(shè)計一個猜數(shù)字游戲,隨機(jī)生成1到100之間的一個整數(shù),玩家總共有5次機(jī)會,每次輸入所猜數(shù)字,程序給出相應(yīng)的提示信息(“再大一點”、“再小一點”或“$恭喜您猜中了$”),如果猜中了,提示“$恭喜您猜中了$”,“總共猜了*次”,游戲結(jié)束,否則游戲繼續(xù);總共有5次機(jī)會,若均沒猜中,則提示“很遺憾,今天運氣不好!”并退出循環(huán)。任務(wù)描述【任務(wù)分析】該任務(wù)涉及循環(huán)結(jié)構(gòu),所以讓我們一起來學(xué)習(xí)一下break、continue以及while-else語句吧!本課件是可編輯的正常PPT課件break語句break語句語法格式執(zhí)行流程在循環(huán)體中,當(dāng)執(zhí)行到break語句時,終止break所在層的循環(huán),即“循環(huán)體內(nèi)break后的語句組”部分將不再被執(zhí)行,程序執(zhí)行流程從“循環(huán)結(jié)構(gòu)后的語句組”處,繼續(xù)往后執(zhí)行。本課件是可編輯的正常PPT課件break語句【示例1】分析以下程序,輸出其運行結(jié)果。因為n<5,所以n的取值為0,1,2,3,4,執(zhí)行5次后循環(huán)結(jié)構(gòu)正常終止。但當(dāng)n==4時,滿足條件,執(zhí)行下面一行語句,然后執(zhí)行break語句。在單層循環(huán)中,當(dāng)執(zhí)行到break時,立刻終止執(zhí)行整個循環(huán)結(jié)構(gòu),直接跳出整個while語句,執(zhí)行倒數(shù)第二行語句。本課件是可編輯的正常PPT課件continue語句語法格式執(zhí)行流程在循環(huán)體中,當(dāng)執(zhí)行到continue語句時,本次循環(huán)體的執(zhí)行流程將跳過“循環(huán)體內(nèi)continue后的語句組”,繼續(xù)執(zhí)行“循環(huán)判斷表達(dá)式”,即提前進(jìn)入下一次的循環(huán)準(zhǔn)備工作。continue語句本課件是可編輯的正常PPT課件continue語句【示例】分析以下程序,輸出其運行結(jié)果。如果n==

4,先執(zhí)行下面一行語句,然后執(zhí)行continue語句,然后跳過打印“第4天打卡”這句話,并不結(jié)束循環(huán)結(jié)構(gòu),接著判斷n<5是否依然為邏輯真。運行結(jié)果如下:本課件是可編輯的正常PPT課件while-else語句語法格式執(zhí)行流程當(dāng)循環(huán)條件表達(dá)式Exp_cntrl的邏輯值為假(False),即循環(huán)體執(zhí)行正常結(jié)束時,如果含有else部分,則執(zhí)行一次對應(yīng)的else部分(語句組B)。如果循環(huán)執(zhí)行非正常結(jié)束,則不會執(zhí)行else部分。while-else循環(huán)結(jié)構(gòu)與任務(wù)實施else部分可有可無本課件是可編輯的正常PPT課件while-else循環(huán)結(jié)構(gòu)【示例1】分析以下程序,輸出其運行結(jié)果。先執(zhí)行while循環(huán),循環(huán)正常結(jié)束后執(zhí)行else部分,這時整個while-else結(jié)構(gòu)才執(zhí)行結(jié)束,接著執(zhí)行while-else結(jié)構(gòu)后的部分。運行結(jié)果如下:注:若while循環(huán)中包含break,則不執(zhí)行else部分。本課件是可編輯的正常PPT課件任務(wù)實施1.回到猜字謎游戲,第一步我們需要先導(dǎo)入random模塊,調(diào)用randint函數(shù)生成1到100之間的隨機(jī)整數(shù)作為謎底ans。2.輸入第一次所猜數(shù)字guess,次數(shù)cnt記為1。3.采用while-else循環(huán)結(jié)構(gòu),只要guess!=ans,循環(huán)即猜謎游戲就一直進(jìn)行下去,當(dāng)guess==ans時,猜中答案,即循環(huán)正常停止時,進(jìn)入并執(zhí)行else部分語句組(“恭喜您猜中了”)。本課件是可編輯的正常PPT課件任務(wù)實施運行結(jié)果如下:本課件是可編輯的正常PPT課件PartThree任務(wù)三模擬發(fā)紅包程序—for循環(huán)、列表本課件是可編輯的正常PPT課件【任務(wù)描述】輸入發(fā)放總金額及發(fā)放個數(shù),隨機(jī)生成每個紅包的金額,并輸出。任務(wù)描述根據(jù)上述代碼,我們來逐個分析。首先,我們了解一下列表列表定義格式:列表名=[元素0,元素1,元素2,…,元素n-1]注意:列表的下標(biāo)從0開始,各個元素可以是相同類型的,也可以是不同類型的,還可以是列表本身(列表嵌套)。本課件是可編輯的正常PPT課件range函數(shù)(1)僅給出結(jié)束位置:range(stop),對象range(0,stop)。該對象返回的序列是:0,1,…,stop-1,即stop為假尾巴,不被包含在其中(2)給出起、止位置:range(start,stop)。返回對象:start,start+1,start+2,…,stop-1。(3)起止及步長:range(start,stop,step)。從start到stop-1的區(qū)間內(nèi),按步長為step取若干樣點生成序列對象?!咀⒁狻浚翰介L為正,表示遞增,start<stop;步長為負(fù),表示遞減,start>stop本課件是可編輯的正常PPT課件for循環(huán)結(jié)構(gòu)我們先來了解一下for循環(huán)語法格式:可以是字符串、列表、元組等數(shù)據(jù)類型,也可以是range函數(shù)生成的序列對象等。執(zhí)行流程:循環(huán)變量的取值范圍從序列或序列對象的首元素開始,依次取到尾元素,即for循環(huán)的執(zhí)行次數(shù)等于“序列”的元素數(shù)量。本課件是可編輯的正常PPT課件for循環(huán)結(jié)構(gòu)習(xí)題1:從鍵盤輸入一字符串,把其中的大寫字母變?yōu)樾?,小寫字母變?yōu)榇髮?,其他不變,輸出轉(zhuǎn)換后的字符串。分析:Python中沒有字符類型,單個字符如'a'也被當(dāng)成字符串處理。遍歷原字符串中的每個子字符串s,然后對每個s進(jìn)行判斷,做相應(yīng)的大小寫轉(zhuǎn)換(轉(zhuǎn)小寫:str.lower()、轉(zhuǎn)大寫:str.upper()),并把轉(zhuǎn)換后的結(jié)果鏈接到定義的新字符串后面,循環(huán)結(jié)束后即為轉(zhuǎn)換后的字符串。本課件是可編輯的正常PPT課件for循環(huán)結(jié)構(gòu)參考代碼:運行結(jié)果:本課件是可編輯的正常PPT課件for循環(huán)結(jié)構(gòu)習(xí)題2:輸出斐波那契數(shù)列的前10項,已知數(shù)列的前兩項值為0和1,從第三項開始每一項都等于其相鄰前兩項之和。分析1:定義長度為10的列表ls,下標(biāo)范圍是從0到9,其中0、1號位置分別為數(shù)列前兩項的值0和1,即ls=[0,1]。故只需計算出第3到第10項,并依次存放到列表的2到9號位置。本課件是可編輯的正常PPT課件for循環(huán)結(jié)構(gòu)分析2:從第3項(i=2號位置)開始的每一項t都等于其相鄰的前兩項ls[i-1]和ls[i-2]之和,即t=ls[i-1]+ls[i-2]。然后調(diào)用列表的append方法,把t附加到列表ls的后面,即ls.append(t)。前兩項之和相加,若該位置下標(biāo)為i,即ls[i]=ls[i-1]+ls[i-2]t參考代碼:運行結(jié)果:本課件是可編輯的正常PPT課件隨機(jī)數(shù)模塊random模塊導(dǎo)入:importrandom1.生成隨機(jī)浮點數(shù)(1)random()生成[0,1)之間的隨機(jī)浮點數(shù)(2)uniform(m,n)函數(shù)生成[m,n)或[m,n]之間的隨機(jī)浮點數(shù)2.生成隨機(jī)整數(shù)(1)randint(m,n)生成[m,n]之間的隨機(jī)整數(shù)【注意】包含起止邊界本課件是可編輯的正常PPT課件隨機(jī)數(shù)模塊random【示例1】生成5個10以內(nèi)的隨機(jī)奇數(shù)。randrange(start,stop=None,step=1)類似range返回序列對象中的隨機(jī)整數(shù)值,不包含“假尾巴”stop,step為步長某次運行結(jié)果:參考代碼:本課件是可編輯的正常PPT課件隨機(jī)數(shù)模塊random3.從給定集合中隨機(jī)選取元素(1)choice(sequence)從指定非空序列中隨機(jī)選取元素4.隨機(jī)打亂原序列元素的存儲順序shuffle(x,random=None),返回None(2)sample(sequence,k)抽樣:從指定非空序列中隨機(jī)抽取

k個不重復(fù)的元素本課件是可編輯的正常PPT課件PartFour項目小結(jié)本課件是可編輯的正常PPT課件知識點回顧知識點示例說明while循環(huán)whileExp_cntrl:

循環(huán)體語句組當(dāng)條件Exp_cntrl為邏輯真時,一直執(zhí)行循環(huán)體,當(dāng)條件為假時,循環(huán)結(jié)束。for循環(huán)for變量in序列:

循環(huán)體語句組循環(huán)的次數(shù)等于序列中元素的數(shù)量循環(huán)流程控制語句break終止并退出所在層循環(huán)。continue本次循環(huán)中,continue后的語句不再執(zhí)行,提前進(jìn)入下一次循環(huán)條件的判斷本課件是可編輯的正常PPT課件THANKS!本課件是可編輯的正常PPT課件項目四打印九九乘法表與星號陣本課件是可編輯的正常PPT課件任務(wù)描述【任務(wù)描述】打印九九乘法表,如下所示?!痉治觥吭擁椖繉儆诖蛴≥敵龆嘈卸嗔械那榫?,控制行數(shù)需使用一層循環(huán),而每一行又有多列,控制每行的列數(shù)又需要一層循環(huán),故屬于雙重循環(huán),即循環(huán)的嵌套。接下來我們使用兩個案例來讓同學(xué)們了解循環(huán)的嵌套!本課件是可編輯的正常PPT課件Contents目錄01.輸出星號陣——循環(huán)嵌套02.輸出星號三角陣03.項目實施04.鞏固案例05.項目小結(jié)本課件是可編輯的正常PPT課件PartOne輸出星號陣——循環(huán)嵌套掌握循環(huán)嵌套結(jié)構(gòu)能夠使用循環(huán)嵌套解決實際問題本課件是可編輯的正常PPT課件輸出星號陣【任務(wù)描述】編程輸出如下圖形。

********************【定義】在一個循環(huán)結(jié)構(gòu)內(nèi),又嵌入另一個循環(huán)結(jié)構(gòu),稱為循環(huán)結(jié)構(gòu)的嵌套或多重循環(huán),常用的為二重循環(huán)。通常把外層的循環(huán)稱為外循環(huán),內(nèi)層的循環(huán)稱為內(nèi)循環(huán)。while循環(huán)、for循環(huán)均可相互嵌套。分析:輸出該圖形,我們需要用到循環(huán)嵌套本課件是可編輯的正常PPT課件任務(wù)實施參考代碼:因為圖形的每一行都是固定的形狀*****,重復(fù)執(zhí)行4次即得目標(biāo)圖形分析每行圖形是一個星號*之后緊跟一個空格,每行5個星號,故重復(fù)5次外層循環(huán)控制行內(nèi)層循環(huán)控制列運行結(jié)果:本課件是可編輯的正常PPT課件PartTwo輸出星號三角陣掌握三角陣的輸出能夠使用循環(huán)嵌套解決實際問題本課件是可編輯的正常PPT課件輸出星號三角形【任務(wù)描述】編程輸出如下圖形。

**********由圖可知,每行輸入的星號與其所在的行數(shù)有一定的聯(lián)系參考代碼本課件是可編輯的正常PPT課件PartThree項目實施本課件是可編輯的正常PPT課件項目實施分析1:九九乘法表的輸出形狀與打印星號三角形類似,其程序框架如下:分析2:觀察發(fā)現(xiàn),每行輸出的算式與其行數(shù)一致。假設(shè)用變量j遍歷第i行的所有列,其代碼如下:分析3:參考代碼如下:本課件是可編輯的正常PPT課件PartFour鞏固案例本課件是可編輯的正常PPT課件鞏固案例【案例1】從鍵盤輸入正整數(shù)n,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。分析1:求和變量s可以看成n項之和,設(shè)當(dāng)前項用term表示。第1項:term=1、第2項:term=(1+2)、第3項:term=(1+2+3)、…、第n項:term=(1+2+3+…+n),把每一項term累加到求和變量s上,使用外層循環(huán)控制該操作,循環(huán)累加n次,設(shè)i為循環(huán)控制變量,則循環(huán)結(jié)構(gòu)如下:分析2:term=(1+2+3+…+i),即把1、2、3、…、i累加到term上(term初始為0),設(shè)j為循環(huán)控制變量,則第1步中,“計算第i項的term值”的代碼如下:本課件是可編輯的正常PPT課件鞏固案例分析3:把第(2)步代碼嵌入到第(1)步的for循環(huán)中,即可得如下代碼:參考代碼:本課件是可編輯的正常PPT課件鞏固案例【案例2】編程輸出如下矩陣:

1

234

2

468

36912分析1:觀察該矩陣,是一個3行4列的矩陣,使用for循環(huán)控制行的輸出,設(shè)行的循環(huán)控制變量為i,用來控制行。列的循環(huán)控制變量為j,用來控制列,然后換行。其代碼如下:分析2:觀察輸出的每個數(shù)字,是數(shù)字所在的行*數(shù)字所在的位置,比如4在第2行,它的位置是第2個,即2*2=4,12在第3行,它的位置是第4個,即3*4=12。其代碼如下:本課件是可編輯的正常PPT課件鞏固案例分析3:把第2步嵌入到第1步的程序框架中,其代碼如下:分析4:參考代碼如下:本課件是可編輯的正常PPT課件PartFive項目小結(jié)本課件是可編輯的正常PPT課件項目小結(jié)實現(xiàn)功能錯誤示例正確示例******row=3foriinrange(1,row+1):

forjinrange(1,i+1):

print('*',end='')

print()row=3foriinrange(1,row+1):

forjinrange(1,i+1):

print('*',end='')

print()#正確位置本項目主要介紹了循環(huán)嵌套。易錯知識點小結(jié)如表4-1所示。表4-1易錯知識點小結(jié)本課件是可編輯的正常PPT課件THANKS!本課件是可編輯的正常PPT課件項目五簡易銀行系統(tǒng)——函數(shù)本課件是可編輯的正常PPT課件項目描述【問題描述】設(shè)計一個建議銀行系統(tǒng),銀行根據(jù)客戶輸入,幫其辦理相應(yīng)的業(yè)務(wù),主要包括存款、取款、查詢等相關(guān)業(yè)務(wù)。本課件是可編輯的正常PPT課件Contents目錄01.多功能計算器設(shè)計——為什么使用函數(shù)02.人狗大戰(zhàn)——函數(shù)應(yīng)用03.掌握變量的作用域04.掌握匿名函數(shù)05.項目實施06.項目小結(jié)本課件是可編輯的正常PPT課件PartOne多功能計算器設(shè)計—為什么使用函數(shù)掌握函數(shù)定義結(jié)構(gòu)掌握函數(shù)調(diào)用結(jié)構(gòu)能夠使用函數(shù)解決簡單問題本課件是可編輯的正常PPT課件任務(wù)描述【任務(wù)描述】設(shè)計一個能實現(xiàn)加、減、乘、除等相關(guān)運算的簡易計算器。運行結(jié)果如圖:讓我們一起來學(xué)習(xí)函數(shù)的基本概念來完成這個任務(wù)吧!本課件是可編輯的正常PPT課件函數(shù)概念與分類函數(shù)定義函數(shù)就是模塊,即把每一個功能相對獨立的代碼封裝起來。函數(shù)分類函數(shù)可分為庫函數(shù)(標(biāo)準(zhǔn)庫和第三方庫)和自定義函數(shù)。庫函數(shù):標(biāo)準(zhǔn)庫函數(shù)如math庫中的sqrt等;第三方庫函數(shù)如matplotlib庫中的繪圖函數(shù)plot、pie等。自定義函數(shù):程序設(shè)計者根據(jù)功能自己編寫的函數(shù)。本課件是可編輯的正常PPT課件函數(shù)定義與調(diào)用1.自定義函數(shù)定義格式def函數(shù)名(參數(shù)1,參數(shù)2,…):函數(shù)體一個函數(shù)定義包含函數(shù)頭和函數(shù)體兩部分。一般把關(guān)鍵字def、函數(shù)名、參數(shù)列表、冒號這四部分稱為函數(shù)頭;冒號后縮進(jìn)的部分稱為函數(shù)體。函數(shù)名:符合標(biāo)識符的命名規(guī)則,最好見名知意。如使用add作為求和函數(shù)的函數(shù)名,sort作為排序函數(shù)的函數(shù)名。參數(shù)表:函數(shù)定義時的參數(shù)又稱為形式參數(shù),簡稱形參。根據(jù)有無參數(shù),函數(shù)可分為帶參函數(shù)和無參函數(shù)。返回值:可有可無,返回關(guān)鍵字為return?!菊f明】本課件是可編輯的正常PPT課件函數(shù)定義與調(diào)用2.自定義函數(shù)調(diào)用格式在學(xué)習(xí)調(diào)用格式之前,我們來了解一下什么是帶參函數(shù)和無參函數(shù)(1)帶參函數(shù):可含有一個或多個形參,多個形參之間用逗號分隔,其代碼如下:(2)無參函數(shù),不含參數(shù),但不能省略括號,其代碼如下:帶參函數(shù)調(diào)用格式:函數(shù)名(參數(shù)1,參數(shù)2,…)無參函數(shù)調(diào)用格式:函數(shù)名()本課件是可編輯的正常PPT課件任務(wù)實施進(jìn)行加減乘除運算使用無限循環(huán)讓用戶選擇運算類型。如果用戶選擇5,則打印退出信息并退出循環(huán)本課件是可編輯的正常PPT課件PartTwo人狗大戰(zhàn)——函數(shù)應(yīng)用掌握字典數(shù)據(jù)類型的使用掌握函數(shù)的定義和調(diào)用能夠自定義函數(shù)解決實際問題本課件是可編輯的正常PPT課件任務(wù)描述【任務(wù)描述】模擬一個人狗大戰(zhàn)游戲,人選手有姓名、年齡、生命值和攻擊力等,狗選手有名字、品種、生命值和攻擊力。人有打狗的行為,狗有咬人的行為。字典?函數(shù)定義?調(diào)用?本課件是可編輯的正常PPT課件數(shù)據(jù)類型—字典1.字典定義格式字典名={key1:value1,key2:value2,…,keyn:valuen}【注意】:鍵與值之間用冒號間隔構(gòu)成鍵值對,然后使用逗號連接若干鍵值對。2.字典常見操作操

作說

明舉

例新建字典手動大括號作為起止邊界d={}#空字典函數(shù)dict()

d=dict()#空字典,等同{}增加元素添加d[key]=v當(dāng)key不存在時即添加新鍵值對d={'Name':'Tom','Age':18}d['Sc']=98

#鍵'Sc'在d中原不存在,即增加print(d)

#{'Name':'Tom','Age':18,'Sc':98}本課件是可編輯的正常PPT課件數(shù)據(jù)類型—字典操

作說

明舉

例刪除元素pop函數(shù)刪除指定key值的鍵值對d.pop(key)

若key存在,返回對應(yīng)的value值;否則,拋出KeyError異常d={'Name':'Tom','Age':18,'Sc':98}d.pop('Sc')#{'Name':'Tom','Age':18}d.pop('No')#鍵'No'不存在,拋出異常KeyError隨機(jī)刪除并返回一鍵值對d.popitem()若d非空,則以元組的形式返回一鍵值對;若為空,則拋出KeyError異常d={'Name':'Tom','Age':18,'Sc':98}d.popitem()#刪除并返回('Sc',98)d.popitem()#刪除并返回('Age',18)d.popitem()#刪除并返回('Name','Tom')d.popitem()#刪除并返回KeyErrordel刪除指定key值的鍵值對元素deld['key']若key不存在,則拋出KeyError異常d={'Name':'張三','Age':18,'Sc':98}deld['Sc']print(d)#{'Name':'張三','Age':18}清空字典d.clear()d={'Name':'張三','Age':18,'Sc':98}d.clear()print(d)#{}本課件是可編輯的正常PPT課件數(shù)據(jù)類型—字典操

作說

明舉

例修改元素修改已存在鍵(key)對應(yīng)的值d['key']=new_value

如果key值不存在,則表示增加元素d={'Name':'Tom','Sc':88}d['Sc']=92#修改成績print(d)#{'Name':'Tom','Sc':92}update更新元素d.update(k1:v1,k2:v2,…)

對已存在的key值起更新作用,對未存在的key值起新增鍵值對作用d={'a':1,'b':3,}d.update({'a':0,'d':5})#修改'a'值,新增'd'print(d.items())#dict_items([('a',0),('b',3),('d',5)])查找(訪問)元素單個元素訪問d['key']d={'Name':'Tom','Addr':{'Sc':'88','Age':'18'}}#字典嵌套print(d['Name'])#Tomprint(d['Addr'])#{'Sc':'88','Age':'18'}keys()訪問所有鍵d.keys()

返回所有鍵值對的鍵值sc={'數(shù)學(xué)':96,'語文':86}print(sc.keys())#dict_keys(['數(shù)學(xué)','語文'])values()訪問所有值d.values()返回所有鍵對應(yīng)的值sc={'數(shù)學(xué)':96,'語文':86,'英語':77}print(sc.values())#dict_values([96,86,77])items()返回所有鍵值對d.items()返回所有鍵值d={'a':7,'b':3}print(d.items())

#dict_items([('a',7),('b',3)])本課件是可編輯的正常PPT課件帶默認(rèn)值參數(shù)在函數(shù)定義時,可以為參數(shù)設(shè)置默認(rèn)值,帶默認(rèn)值的參數(shù)必須放在所有非默認(rèn)值參數(shù)的后面?!緟⒖即a】在函數(shù)調(diào)用時,若沒有為默認(rèn)值參數(shù)傳值,則采用參數(shù)的默認(rèn)值。在函數(shù)調(diào)用時,若為默認(rèn)值參數(shù)指定新值,則用新值覆蓋默認(rèn)值。本課件是可編輯的正常PPT課件任務(wù)實施定義了一個字典attack_dog,其中包含不同品種狗的名稱和對應(yīng)的攻擊力值。定義了一個函數(shù)dog,包含狗的名字、品種、生命值和攻擊力的字典。如果狗的品種在attack_dog字典中,則攻擊力取相應(yīng)的值,否則默認(rèn)為20。定義了一個函數(shù)person,包含人的名字、年齡和生命值。如果年齡在18到40歲之間,攻擊力設(shè)為70,否則為30。本課件是可編輯的正常PPT課件任務(wù)實施定義了beat函數(shù),模擬人打狗的行為。人的攻擊力會減少狗的生命值,并打印出相應(yīng)的信息定義了dog_bite函數(shù),模擬狗咬人的行為。狗的攻擊力會減少人的生命值,并打印出相應(yīng)的信息。本課件是可編輯的正常PPT課件PartThree變量作用域掌握掌握局部變量和全局變量的定義能夠使用global在局部空間中引入全局變量本課件是可編輯的正常PPT課件全局變量是在任何函數(shù)或語句塊之外定義的變量。它們在整個程序范圍內(nèi)都是可見和可訪問的。全局變量局部變量的作用域限制在其定義的函數(shù)或語句塊內(nèi)。在這些局部區(qū)域內(nèi),變量默認(rèn)是有效的,且不能在外部訪問。如果需要在函數(shù)內(nèi)部修改全局變量,可以使用global關(guān)鍵詞來聲明。作用域規(guī)則局部變量是在函數(shù)或語句塊內(nèi)部定義的變量。它們僅在定義它們的函數(shù)或語句塊內(nèi)部有效。局部變量010203全局變量和局部變量本課件是可編輯的正常PPT課件全局變量和局部變量1.函數(shù)內(nèi)默認(rèn)訪問局部變量2.函數(shù)內(nèi)部訪問全局變量—global本課件是可編輯的正常PPT課件鞏固案例【案例】分析以下代碼,輸出其運行結(jié)果。首先定義了一個全局變量g并賦值為2。在f1函數(shù)中,使用global關(guān)鍵詞聲明g為全局變量,并將其修改為3。在f2函數(shù)中,g被重新賦值為4,但這里的g是局部變量,不影響全局變量。最后,當(dāng)主程序執(zhí)行時,調(diào)用f1和f2函數(shù),打印全局變量g的值,由于f1中的修改,輸出結(jié)果為3。全局變量局部變量全局變量全局變量本課件是可編輯的正常PPT課件PartFour掌握匿名函數(shù)掌握匿名函數(shù)的定義和調(diào)用掌握map、filter、reduce等函數(shù)本課件是可編輯的正常PPT課件匿名函數(shù)在函數(shù)功能邏輯較簡單、代碼量較少的情況下,可以將函數(shù)定義為匿名函數(shù),即不給該函數(shù)指定標(biāo)識符(名字),通常稱為“l(fā)ambda表達(dá)式”。其定義格式為:lambda參數(shù)1,參數(shù)2,…:功能實現(xiàn)函數(shù)與匿名函數(shù)對比利用函數(shù)求和利用匿名函數(shù)求和【結(jié)論】由此可見,匿名函數(shù)所保存的“對象”或“模型”非常類似普通函數(shù)名,在調(diào)用格式上兩者也非常相似。本課件是可編輯的正常PPT課件lambda與mapmap函數(shù)定義格式為:map(func,iterables)【功能描述】將函數(shù)func應(yīng)用于可迭代對象iterables中的每個元素,并返回一個包含所有結(jié)果的map對象,該對象可以被轉(zhuǎn)換為列表或元組以查看結(jié)果。【案例】定義一個匿名函數(shù)來計算數(shù)字的平方,利用`map`函數(shù)將此函數(shù)應(yīng)用于列表`[1,2,3,4,5]`中的每個元素。并使用`list()`將其轉(zhuǎn)換為列表形式,打印每個元素的平方結(jié)果。本課件是可編輯的正常PPT課件lambda與filterfilter函數(shù)定義格式為:filter(func,iterables)【功能描述】可迭代序列iterables中的每個元素依次代入函數(shù)或匿名函數(shù)func中執(zhí)行,然后把各返回值結(jié)果封裝成filter對象返回??蛇M(jìn)一步通過列表或元組等形式查看該對象中包含的數(shù)據(jù)內(nèi)容。filter函數(shù)的形參func通常返回True或False。【案例】本課件是可編輯的正常PPT課件lambda與reducereduce函數(shù)定義格式為:reduce(func,sequence[,initial])【功能描述】其中,initial為可選參數(shù),表示初值,求和默認(rèn)值為0,求積默認(rèn)值為

1,也可顯式指定為其他值?!景咐?】求和運算,分析以下程序,輸出運行結(jié)果?!痉治觥縭educe函數(shù)通過lambdax,y:x+y將列表[1,2,3,4,5]中的元素從左至右依次累加,最終得到總和15。本課件是可編輯的正常PPT課件lambda與reduce【案例2】求積運算,分析以下程序,輸出運行結(jié)果?!痉治觥棵看握{(diào)用`lambdax,y:x*y`

需要兩個參數(shù),分析過程同求和,依次執(zhí)行以下運算:1*2=2,2*3=6,6*4=24,24*5=120。求積運算的初始值initial默認(rèn)為1,也可顯式指定。本課件是可編輯的正常PPT課件PartFive項目實施本課件是可編輯的正常PPT課件項目實施init函數(shù)用于打印系統(tǒng)初始化時的信息,包括銀行可辦理的業(yè)務(wù)列表。deposit函數(shù)實現(xiàn)存款功能。使用global關(guān)鍵字修改全局變量money的值。存款金額小于0,則提示錯誤;否則,增加賬戶余額,并打印存款和當(dāng)前余額信息。withdraw函數(shù)實現(xiàn)了取款功能。同樣使用global關(guān)鍵字來修改money。若取款金額小于0或大于賬戶余額,則打印相應(yīng)的錯誤信息;否則,減少賬戶余額,并打印取款和當(dāng)前余額信息。本課件是可編輯的正常PPT課件項目實施check函數(shù)用于查詢當(dāng)前賬戶余額,并打印出來。main函數(shù)是程序的主要入口點。它調(diào)用init函數(shù),進(jìn)入一個無限循環(huán),不斷提示用戶輸入業(yè)務(wù)代碼。根據(jù)用戶輸入的代碼,調(diào)用相應(yīng)函數(shù)來處理請求。若輸入'q',則打印退出信息并退出循環(huán),結(jié)束程序。本課件是可編輯的正常PPT課件PartSix項目小結(jié)本課件是可編輯的正常PPT課件主要知識點知

點示例說

明函數(shù)定義定義求兩數(shù)之和的函數(shù)defadd(a,b):#函數(shù)頭

return(a+b)#函數(shù)體函數(shù)包含函數(shù)頭和函數(shù)體。函數(shù)頭由關(guān)鍵字def、函數(shù)名、參數(shù)表和冒號組成。函數(shù)定義時的參數(shù)稱為形參,如a和b函數(shù)調(diào)用s=add(2,3)函數(shù)調(diào)用“喊名字,傳參數(shù)”,函數(shù)調(diào)用時傳遞的參數(shù)稱為實參,如2和3字典字典名={key1:value1,5…,keyn:valuen}由若干鍵值對key:value構(gòu)成變量的作用域a=2#全局變量,其值為2defchange():

a=10#局部變量,其值為10

print('a=',a)#訪問局部變量change()#輸出a=10該例中定義了同名的不同變量a,一個是全局變量,一個為局部變量global引入全局變量a=2#全局變量,其值為2defchange():

globala#引入全局變量

a=10#為全局變量賦值10

print('a=',a)#全局變量change()#輸出a=10該例中僅定義了一個變量即全局變量a,使用global關(guān)鍵字在局部空間引入該全局變量本課件是可編輯的正常PPT課件易錯知識點易錯知識點錯誤示例說明函數(shù)定義錯誤deffun(n)

#函數(shù)體語法錯誤。函數(shù)頭尾部漏掉冒號:帶參函數(shù)定義defprint_info(age=17,name):

#函數(shù)體帶默認(rèn)值的參數(shù)必須放在所有非默認(rèn)值參數(shù)后面易錯知識點本課件是可編輯的正常PPT課件THANKS!本課件是可編輯的正常PPT課件項目六烏龜吃魚游戲——面向?qū)ο蟊菊n件是可編輯的正常PPT課件項目描述【項目描述】模擬烏龜吃魚游戲,游戲規(guī)則:水池中有一只烏龜和若干條魚,烏龜和魚在水池中游動,如果烏龜遇到魚則把魚吃掉,生命值增加,烏龜游動消耗體力。如果池中所有的魚都被吃掉或者烏龜體力耗盡游戲結(jié)束。本課件是可編輯的正常PPT課件Contents目錄01.聰明的小狗——類和對象04.愛心募捐——實例變量和類變量02.莫問年齡和存款——私有成員03.生物進(jìn)化——繼承05.項目實施06.項目小結(jié)本課件是可編輯的正常PPT課件PartOne聰明的小狗——類和對象掌握類定義結(jié)構(gòu)掌握構(gòu)造對象的方法掌握通過對象名調(diào)用屬性和行為的方式本課件是可編輯的正常PPT課件任務(wù)描述【任務(wù)描述】設(shè)計一個狗類,包含名字、品種、年齡等屬性,具備搖尾、趴下、打滾、奔跑等行為。運行結(jié)果如下所示。讓我們一起學(xué)習(xí)類和對象來解決這個問題吧!本課件是可編輯的正常PPT課件面向?qū)ο蠛皖?1面向?qū)ο缶幊蘋OP是一切皆對象,把具有相同屬性和行為的對象抽象為“類”。02面向?qū)ο笕筇匦詾榉庋b、繼承和多態(tài)。03類是編程中創(chuàng)建對象的模板,用class定義,擁有屬性存儲信息和方法執(zhí)行操作。本課件是可編輯的正常PPT課件面向?qū)ο蠛皖悺绢惗x格式1】含構(gòu)造方法【類定義格式2】不含構(gòu)造方法,系統(tǒng)提供默認(rèn)的無參構(gòu)造方法【說明】在Python中,構(gòu)造方法`__init__`用于初始化新創(chuàng)建的對象,為其屬性賦初值。如果沒有顯式定義構(gòu)造方法(僅含有self)。析構(gòu)方法`__del__`在對象被刪除時自動調(diào)用。類中的方法通常以`self`作為第一個參數(shù),代表當(dāng)前對象實例,其余參數(shù)根據(jù)需要定義。下面,我們來舉幾個例子幫助大家更好理解本課件是可編輯的正常PPT課件面向?qū)ο蠛皖悺景咐?】定義一個學(xué)生類,包括姓名、年齡、班級等屬性,以及自我介紹方法。【案例2】定義一個鳥類Bird,僅包含飛行方法,不含構(gòu)造方法。本課件是可編輯的正常PPT課件創(chuàng)建對象構(gòu)造類的對象時,通過類的名字調(diào)用構(gòu)造方法__init__,為該對象的數(shù)據(jù)成員即屬性賦初值。如果類中沒有顯式定義構(gòu)造方法或者定義的構(gòu)造方法除了self外,沒有其他參數(shù),則創(chuàng)建該類對象的格式如下:舉例:在這個例子中,Bird類沒有定義構(gòu)造方法,因此Python自動提供了一個默認(rèn)的無參構(gòu)造方法。當(dāng)我們創(chuàng)建Bird類的對象b時,我們使用Bird(),括號內(nèi)是空的,表示沒有傳遞任何參數(shù)。然后我們可以調(diào)用b對象的fly方法來模擬鳥的飛行行為。本課件是可編輯的正常PPT課件創(chuàng)建對象若類中定義的構(gòu)造方法除了self外還有其他參數(shù),則創(chuàng)建該類對象格式如下:舉例:在這個例子中,Student類有一個構(gòu)造方法__init__,它接受三個參數(shù):name、age和class_info。創(chuàng)建Student類的對象s1和s2時,需要提供這些參數(shù)的值。然后,我們可以通過調(diào)用introduce方法來打印每個學(xué)生的信息。本課件是可編輯的正常PPT課件通過對象訪問屬性和行為訪問對象屬性的格式如下:舉例:在這個例子中,Student類有三個屬性:name、age和cls。我們創(chuàng)建了兩個Student類的對象s1和s2,并且為它們的屬性賦了初值。然后,我們通過點操作符訪問這些屬性,并使用print函數(shù)輸出它們的值。本課件是可編輯的正常PPT課件通過對象訪問屬性和行為訪問對象行為的格式如下:舉例:在這個例子中,我們定義了一個Student類,它有一個構(gòu)造方法和一個introduce方法。我們創(chuàng)建了一個Student對象student,并調(diào)用了它的introduce方法來打印自我介紹。本課件是可編輯的正常PPT課件任務(wù)實施__init__是類的構(gòu)造方法,用于初始化創(chuàng)建的對象。它接受breed(品種)、name(名字)和age(年齡)作為參數(shù),并將它們設(shè)置為對象的屬性。speak方法用于模擬小狗的自我介紹,打印出小狗的品種、名字和年齡。wag方法模擬小狗搖尾巴的動作,打印出搖尾巴的小狗的名字。lie方法模擬小狗趴下的動作,打印出趴下的小狗的名字。roll_over方法模擬小狗打滾的動作,打印出打滾的小狗的名字。run方法模擬小狗跑步的動作,參數(shù)dis表示距離(米),并打印出小狗的名字和跑的距離。本課件是可編輯的正常PPT課件任務(wù)實施創(chuàng)建了兩個Dog類的對象dog1和dog2,分別代表兩個不同品種和名字的小狗,以及它們的年齡。調(diào)用各類方法運行結(jié)果如下:本課件是可編輯的正常PPT課件鞏固案例【案例】定義一個圓類,包含屬性半徑,及求周長和面積的方法。參考代碼:本課件是可編輯的正常PPT課件PartTwo莫問年齡和存款——私有成員本課件是可編輯的正常PPT課件任務(wù)描述【任務(wù)描述】設(shè)計一個Python個人信息類。創(chuàng)建一個Person類,封裝姓名、私有的年齡、分?jǐn)?shù)和存款。實現(xiàn)方法以輸出個人信息、安全地獲取和設(shè)置分?jǐn)?shù)、以及模擬賺錢和花錢。在主程序中演示這些功能。讓我們一起學(xué)習(xí)一下私有成員屬性來完成這個任務(wù)吧!本課件是可編輯的正常PPT課件私有成員屬性Python類中的屬性默認(rèn)是公開的,可以自由訪問和修改,這可能違反封裝原則并降低安全性。為了提供封裝和數(shù)據(jù)保護(hù),Python使用雙下劃線`__`前綴來定義私有屬性,如`__weight`和`__score`。私有屬性只能在類內(nèi)部訪問,外部代碼不能直接訪問它們。通常,類會提供公共的`get_屬性名`和`set_屬性名`方法來間接訪問和修改這些私有屬性。【錯誤案例】試圖在類外直接訪問私有成員屬性。本課件是可編輯的正常PPT課件私有成員屬性【正確案例】通過set***和get***方法可在類外間接訪問私有屬性。定義了一個公開方法getWeight,用于獲取私有屬性__weight的值。定義了一個公開方法setWeight,它接受一個參數(shù)newWeight,用于設(shè)置私有屬性__weight的新值。newWeight將傳入的newWeight值賦給私有屬性__weight。調(diào)用setWeight方法,將體重修改為59.5公斤。本課件是可編輯的正常PPT課件任務(wù)實施__init__是構(gòu)造方法,初始化Person對象的屬性。接受姓名、年齡、分?jǐn)?shù)和金錢作為參數(shù),并將它們設(shè)置為對象的屬性。其中,年齡、分?jǐn)?shù)和金錢屬性名前使用了雙下劃線__,這表示它們是私有屬性。speak方法用于打印出人的姓名、年齡、分?jǐn)?shù)和余額。返回私有屬性__age的值和私有屬性__score的值。setSc方法接受一個新分?jǐn)?shù)newSc,先打印出修改前的成績,然后更新成績,并打印出修改后的成績。本課件是可編輯的正常PPT課件任務(wù)實施spend方法接受一個金額amount,將其從余額中減去,并打印出花錢后的信息和當(dāng)前余額。運行結(jié)果如下:本課件是可編輯的正常PPT課件PartThree生物進(jìn)化——繼承掌握類的定義結(jié)構(gòu)掌握構(gòu)造對象的方法掌握通過對象名調(diào)用屬性和行為的方式本課件是可編輯的正常PPT課件單繼承單類繼承的格式為:pass表示占位符,通常表示暫時沒實現(xiàn)的函數(shù)(方法)體或類體。子類默認(rèn)繼承父類的非私有屬性和方法。直接調(diào)用從父類繼承過來的方法為不重寫父類方法—直接繼承本課件是可編輯的正常PPT課件單繼承在子類中重寫父類中的同名方法,相當(dāng)于把從父類繼承過來的該方法覆蓋掉。該方法為重寫父類方法—方法覆蓋運行結(jié)果為:本課件是可編輯的正常PPT課件多重繼承多重繼承是子類擁有多個父類,可同時繼承多個父類的屬性和方法。其格式為:【案例】閱讀以下程序,分析其運行結(jié)果。【分析】子類Swan擁有兩個父類Bird和Goose,即同時繼承了父類Bird的fly方法,以及父類Goose的swim方法?!菊f明】多個父類名用逗號間隔,表示子類同時繼承多個父類的屬性和方法。本課件是可編輯的正常PPT課件PartFour愛心募捐——實例變量和類變量掌握實例變量的定義和使用掌握類變量的定義和使用本課件是可編輯的正常PPT課件任務(wù)描述【任務(wù)描述】設(shè)計一個募捐類,統(tǒng)計輸出實時捐款金額和明細(xì)。該項任務(wù)涉及實例變量和類變量。實例變量就是屬于對象(實例)的變量(屬性),每個對象均有屬于自己的獨立實例變量。而類變量屬于整個類的所有對象所共有,即“公共空間”。相信同學(xué)們對于什么是實例變量和類變量還是一頭霧水,讓我們一起進(jìn)入實例變量和類變量的學(xué)習(xí)中吧!本課件是可編輯的正常PPT課件實例變量實例變量是指在類的任意方法內(nèi)部,以self開頭定義的變量(屬性)。實例變量定義self.變量名語法格式實例變量只能通過對象名訪問,不能通過類名訪問。訪問方式

本課件是可編輯的正常PPT課件實例變量【案例】閱讀以下代碼,分析其中的實例變量?!痉治觥吭陬愔械娜我夥椒▋?nèi)以“self.變量名”定義和使用的變量均為“實例變量”,故該類構(gòu)造方法中的、self.age、self.__score這三個以self開頭的變量均是實例變量。運行結(jié)果展示了同一個類`Stu`的不同對象`s1`和`s2`各自擁有獨立的私有實例變量`self.__score`。它們是各自獨立、互不影響的,即都有自己的獨立存儲空間和值。本課件是可編輯的正常PPT課件類變量是指在類的所有方法之外定義的變量。定義01語法格式02類變量既可以通過類名訪問,也可以通過對象名訪問,建議通過類名訪問訪問方式03類變量本課件是可編輯的正常PPT課件類變量【案例】閱讀以下代碼,分析其中的類變量和實例變量。這段代碼中的`Rect`類展示了類變量和實例變量的區(qū)別:`cnt`是類變量,用于統(tǒng)計創(chuàng)建的`Rect`對象數(shù)量,所有對象共享;而`self.w`和`self.h`是實例變量,每個`Rect`對象擁有獨立的寬度和高度值。通過類名或?qū)ο竺L問類變量`cnt`,可以獲取創(chuàng)建對象的總數(shù)。本課件是可編輯的正常PPT課件str.center的使用字符串center方法返回

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論