Python快速編程入門(第3版) 課件 第3章 流程控制_第1頁
Python快速編程入門(第3版) 課件 第3章 流程控制_第2頁
Python快速編程入門(第3版) 課件 第3章 流程控制_第3頁
Python快速編程入門(第3版) 課件 第3章 流程控制_第4頁
Python快速編程入門(第3版) 課件 第3章 流程控制_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第3章流程控制《Python快速編程入門(第3版))》學(xué)習(xí)目標(biāo)/Target掌握條件語句的用法,能夠根據(jù)需求使用適合的條件語句掌握跳轉(zhuǎn)語句的用法,能夠在循環(huán)中使用跳轉(zhuǎn)語句跳出當(dāng)次循環(huán)或者結(jié)束循環(huán)掌握循環(huán)語句的用法,能夠根據(jù)需求使用適合的循環(huán)語句章節(jié)概述/Summary程序中的語句默認(rèn)會(huì)按照自上而下的順序逐條執(zhí)行,但通過一些特定的語句可以更改語句的執(zhí)行順序,使之產(chǎn)生跳躍、回溯等現(xiàn)象,進(jìn)而靈活地控制程序的執(zhí)行流程。Python中用于實(shí)現(xiàn)流程控制的特定語句主要分為條件語句、循環(huán)語句和跳轉(zhuǎn)語句。本章將結(jié)合這些特定語句介紹與流程控制相關(guān)的知識(shí)。目錄/Contents010203條件語句實(shí)訓(xùn)案例循環(huán)語句目錄/Contents06階段案例——房貸計(jì)算器04實(shí)訓(xùn)案例05跳轉(zhuǎn)語句條件語句3.1

先定一個(gè)小目標(biāo)!掌握if語句的用法,能夠根據(jù)需求使用if語句3.1.1if語句if語句是最簡單的條件語句,該語句由關(guān)鍵字if、判斷條件和冒號(hào)組成,if語句和從屬于該語句的代碼段可組成選擇結(jié)構(gòu),其語法格式如下:3.1.1if語句if條件表達(dá)式:

代碼段語法格式執(zhí)行if語句時(shí),若if語句的條件表達(dá)式成立,即條件表達(dá)式的布爾值為True,則執(zhí)行if語句內(nèi)的代碼段;若if語句的條件表達(dá)式不成立,即條件表達(dá)式的布爾值為False,則跳過if語句內(nèi)的代碼段,繼續(xù)向下執(zhí)行。3.1.1if語句3.1.1if語句score=88ifscore>=60:print("考試及格!")示例使用if語句實(shí)現(xiàn)一個(gè)考試成績?cè)u(píng)估功能的程序:如果考試成績不低于60分,那么將此成績?cè)u(píng)估為考試及格,假設(shè)小明的考試成績?yōu)?8分,輸出小明的成績?cè)u(píng)估結(jié)果。

先定一個(gè)小目標(biāo)!3.1.2if-else語句掌握if-else語句的用法,能夠根據(jù)需求使用if-else語句if語句只能處理滿足條件的情況,但一些場景不僅需要處理滿足條件的情況,也需要對(duì)不滿足條件的情況做特殊處理。因此,Python提供了可以同時(shí)處理滿足和不滿足條件的if-else語句。3.1.2if-else語句if條件表達(dá)式:

代碼段1else:

代碼段2語法格式score=88ifscore>=60:print("考試及格!")else:print("考試不及格!")示例使用if-else語句優(yōu)化考試成績?cè)u(píng)估的程序,使得程序可以同時(shí)兼顧考試及格和考試不及格這兩種評(píng)估結(jié)果。3.1.2if-else語句

先定一個(gè)小目標(biāo)!3.1.3if-elif-else語句掌握if-elif-else語句的用法,能夠根據(jù)需求使用if-elif-else語句if-else語句局限于兩種情況,像這種存在四個(gè)等級(jí)的場景無法通過if-else語句進(jìn)行處理。為處理類似上述的一個(gè)事項(xiàng)涉及多種情況的場景,Python提供了可以產(chǎn)生多個(gè)分支的if-elif-else語句。if-elif-else語句的語法格式如下所示:3.1.3if-elif-else語句if條件表達(dá)式1:

代碼段1elif條件表達(dá)式2:

代碼段2……elif條件表達(dá)式n:

代碼段nelse:

代碼段n+1語法格式score=88ifscore>=85:print("優(yōu)秀")elif75<=score<85:print("良好")elif60<=score<75:print("中等")else:print("差")示例使用if-elif-else語句優(yōu)化考試成績?cè)u(píng)估程序,使得程序可以根據(jù)分值做出“優(yōu)秀”“良好”“中等”“差”這四個(gè)等級(jí)的評(píng)估,評(píng)估標(biāo)準(zhǔn)為:考試成績不低于85分時(shí),評(píng)估結(jié)果為“優(yōu)秀”;考試成績低于85且不低于75分時(shí),評(píng)估結(jié)果為“良好”;考試成績低于75且不低于60分時(shí),評(píng)估結(jié)果為“中等”:考試成績低于60分時(shí),評(píng)估結(jié)果為“差”。3.1.3if-elif-else語句

先定一個(gè)小目標(biāo)!3.1.4if嵌套掌握if嵌套語句的用法,能夠根據(jù)需求使用if嵌套語句檢票符合條件后方可進(jìn)入安檢程序,安檢符合條件后方可進(jìn)站乘坐列車。這個(gè)場景中雖然涉及兩個(gè)判斷條件,但這兩個(gè)條件并非選擇關(guān)系,而是嵌套關(guān)系:先判斷外層條件,條件滿足后才去判斷內(nèi)層條件;兩層條件都滿足時(shí)才執(zhí)行內(nèi)層的操作。Python中通過if嵌套可以實(shí)現(xiàn)程序中條件語句的嵌套邏輯。if嵌套的語法格式如下所示:3.1.4if嵌套if條件表達(dá)式1:

代碼段1if條件表達(dá)式2:

代碼段2else:

代碼段3else:

代碼段4語法格式y(tǒng)ear=2020month=2ifmonthin[1,3,5,7,8,10,12]:print("%d月有31天"%month)elifmonthin[4,6,9,11]:print("%d月有30天"%month)elifmonth==2:ifyear%400==0oryear%4==0andyear%100!=0:print("%d年%d月有29天"%(year,month))else:print("%d年%d月有28天"%(year,month))示例通過計(jì)算當(dāng)月天數(shù)的案例演示if嵌套的用法:一年有12個(gè)月份,每個(gè)月份的總天數(shù)具有一定的規(guī)律,1、3、5、7、8、10、12月份有31天;4、6、9、11月份有30天;2月份的情況稍微復(fù)雜一些,閏年的2月份有29天,平年的2月份有28天。3.1.4if嵌套實(shí)訓(xùn)案例3.2

先定一個(gè)小目標(biāo)!3.2.1會(huì)員等級(jí)評(píng)定根據(jù)任務(wù)描述實(shí)現(xiàn)案例:會(huì)員等級(jí)評(píng)定在現(xiàn)代商業(yè)社會(huì)中,會(huì)員等級(jí)制度已成為吸引和回饋忠誠客戶的常見方式。通過建立會(huì)員等級(jí)體系,企業(yè)不僅可以提供個(gè)性化的服務(wù)和特權(quán),還能激勵(lì)顧客保持長期的合作關(guān)系。假設(shè)某平臺(tái)的會(huì)員等級(jí)是根據(jù)用戶的消費(fèi)金額和積分評(píng)定的。3.2.1會(huì)員等級(jí)評(píng)定消費(fèi)金額(元)積分(分)會(huì)員等級(jí)M>=1000S>=10000鉆石會(huì)員500<=M<10005000<=S<10000白金會(huì)員200<=M<5002000<=S<5000黃金會(huì)員100<=M<2001000<=S<2000白銀會(huì)員/500<=S<1000青銅會(huì)員/S<500普通會(huì)員本案例要求編寫程序,根據(jù)表提供的規(guī)則實(shí)現(xiàn)會(huì)員等級(jí)的評(píng)定。3.2.1會(huì)員等級(jí)評(píng)定

先定一個(gè)小目標(biāo)!3.2.2物流費(fèi)用計(jì)算根據(jù)任務(wù)描述實(shí)現(xiàn)案例:物流費(fèi)用計(jì)算我國快遞行業(yè)通過引入新技術(shù)和創(chuàng)新業(yè)務(wù)模式,目前已經(jīng)成為全球最大、最活躍的快遞市場之一。快遞行業(yè)的高速發(fā)展,使得我們郵寄物品變得方便快捷。某快遞點(diǎn)提供華東地區(qū)、華南地區(qū)、華北地區(qū)的寄件服務(wù),其中華東地區(qū)編號(hào)為01、華南地區(qū)編號(hào)為02、華北地區(qū)編號(hào)為03。該快遞點(diǎn)寄件價(jià)目表具體如表所示。地區(qū)編號(hào)首重寄件價(jià)目(<=2kg)續(xù)重寄件價(jià)目(元/kg)華東地區(qū)(01)13元3華南地區(qū)(02)12元2華北地區(qū)(03)14元43.2.2物流費(fèi)用計(jì)算本案例要求編寫程序,根據(jù)表提供的數(shù)據(jù)實(shí)現(xiàn)物流費(fèi)用的計(jì)算。3.2.2物流費(fèi)用計(jì)算循環(huán)語句3.3

先定一個(gè)小目標(biāo)!掌握while語句的用法,能夠根據(jù)需求使用適合的while循環(huán)語句3.3.1while語句while語句一般用于實(shí)現(xiàn)條件循環(huán),該語句由關(guān)鍵字while、循環(huán)條件和冒號(hào)組成,while語句和從屬于該語句的代碼段組成循環(huán)結(jié)構(gòu),其語法格式如下:3.3.1while語句while條件表達(dá)式:

代碼塊語法格式執(zhí)行while語句時(shí),若循環(huán)條件的值為True,則執(zhí)行之后的代碼段,執(zhí)行完代碼段之后再次判斷循環(huán)條件,如此往復(fù),直至循環(huán)條件的值為False時(shí)循環(huán)終止,執(zhí)行循環(huán)之后的代碼。3.3.1while語句i=1#保存要計(jì)算的數(shù)字,初始值為1result=0#保存累加的結(jié)果,初始值為0whilei<=10:#使用while循環(huán)實(shí)現(xiàn)1~10的累加result+=ii+=1print(result)#輸出累加后的結(jié)果示例使用while循環(huán)計(jì)算1+2+3+...+10的結(jié)果。3.3.1while語句whileTrue:print("我是無限循環(huán)...")示例若希望程序可以一直重復(fù)操作,則可以將循環(huán)條件的值設(shè)為True,如此便進(jìn)入無限循環(huán)。3.3.1while語句需要注意的是,雖然在實(shí)際開發(fā)中有些程序需要無限循環(huán),比如游戲的主程序、操作系統(tǒng)中的監(jiān)控程序等,但無限循環(huán)會(huì)占用大量內(nèi)存,影響程序和系統(tǒng)的性能,開發(fā)者需酌情使用。

先定一個(gè)小目標(biāo)!掌握for語句的用法,能夠根據(jù)需求使用適合的for循環(huán)語句3.3.2for語句for語句一般用于實(shí)現(xiàn)遍歷循環(huán)。遍歷指逐一訪問目標(biāo)對(duì)象中的數(shù)據(jù),例如逐個(gè)訪問字符串中的字符;遍歷循環(huán)指在循環(huán)中完成對(duì)目標(biāo)對(duì)象的遍歷。3.3.2for語句for臨時(shí)變量in目標(biāo)對(duì)象:

代碼段語法格式以上格式中的目標(biāo)對(duì)象可以是字符串、文件或后續(xù)章節(jié)中將會(huì)學(xué)習(xí)的其他組合數(shù)據(jù)類型;臨時(shí)變量用于保存每次循環(huán)訪問的目標(biāo)對(duì)象中的元素。目標(biāo)對(duì)象的元素個(gè)數(shù)決定了循環(huán)的次數(shù),目標(biāo)對(duì)象中的元素被訪問完之后循環(huán)結(jié)束。forwordin"Python":print(word)示例使用for循環(huán)遍歷字符串"Python"的每個(gè)字符。3.3.2for語句foriinrange(5):print(i)示例for語句常與range()函數(shù)搭配使用,以控制循環(huán)中代碼段的執(zhí)行次數(shù)。range()函數(shù)中若只有一個(gè)整數(shù)n,則會(huì)生成一組從0~n-1的整數(shù);若只有兩個(gè)整數(shù)m和n,則會(huì)生成一組從m~n-1的整數(shù)。3.3.2for語句

先定一個(gè)小目標(biāo)!3.3.3循環(huán)嵌套掌握循環(huán)嵌套語句的用法,能夠根據(jù)需求使用適合的循環(huán)嵌套語句循環(huán)之間可以互相嵌套,進(jìn)而實(shí)現(xiàn)更為復(fù)雜的邏輯。循環(huán)嵌套按不同的循環(huán)語句可以劃分為while循環(huán)嵌套和for循環(huán)嵌套。3.3.3循環(huán)嵌套1.while循環(huán)嵌套while循環(huán)嵌套是指while語句中嵌套while或for語句。以while語句中嵌套while語句為例,while循環(huán)嵌套的語法格式如下:3.3.3循環(huán)嵌套while條件表達(dá)式1:#外層循環(huán)

代碼塊1while條件表達(dá)式2:#內(nèi)層循環(huán)

代碼塊2語法格式執(zhí)行while循環(huán)嵌套時(shí),若外層循環(huán)的循環(huán)條件1的值為True,則執(zhí)行代碼段1,并對(duì)內(nèi)層循環(huán)的循環(huán)條件2進(jìn)行判斷。若循環(huán)條件2的值為True則執(zhí)行代碼段2,否則結(jié)束內(nèi)層循環(huán)。內(nèi)層循環(huán)執(zhí)行完畢后繼續(xù)判斷外層循環(huán)的循環(huán)條件1,如此往復(fù),直至循環(huán)條件1的值為False時(shí)結(jié)束外層循環(huán)。3.3.3循環(huán)嵌套i=1whilei<6:j=0whilej<i:print("*",end='')j+=1print()i+=1示例使用while循環(huán)嵌套輸出一個(gè)由“*”構(gòu)成的直角三角形。3.3.3循環(huán)嵌套2.for循環(huán)嵌套for循環(huán)嵌套是指for語句中嵌套了while或for語句。以for語句中嵌套for語句為例,for循環(huán)嵌套的語法格式如下:3.3.3循環(huán)嵌套for臨時(shí)變量in可迭代對(duì)象:#外層循環(huán)

代碼塊1for臨時(shí)變量in可迭代對(duì)象#內(nèi)層循環(huán)

代碼塊2語法格式執(zhí)行for循環(huán)嵌套時(shí),程序會(huì)訪問外層循環(huán)中目標(biāo)對(duì)象的首個(gè)元素、執(zhí)行代碼段1、訪問內(nèi)層循環(huán)目標(biāo)對(duì)象的首個(gè)元素、執(zhí)行代碼段2,然后訪問內(nèi)層循環(huán)中的下一個(gè)元素、執(zhí)行代碼段2……如此往復(fù),直至訪問完內(nèi)層循環(huán)的目標(biāo)對(duì)象后結(jié)束內(nèi)層循環(huán),轉(zhuǎn)而繼續(xù)訪問外層循環(huán)中的下一個(gè)元素,訪問完外層循環(huán)的目標(biāo)對(duì)象后結(jié)束外層循環(huán)。因此,外層循環(huán)每執(zhí)行一次,都會(huì)執(zhí)行一輪內(nèi)層循環(huán)。3.3.3循環(huán)嵌套foriinrange(1,6):forjinrange(i):print("*",end='')print()示例使用for循環(huán)嵌套輸出一個(gè)由“*”構(gòu)成的直角三角形。3.3.3循環(huán)嵌套實(shí)訓(xùn)案例3.4

先定一個(gè)小目標(biāo)!3.4.1賬號(hào)密碼檢測功能根據(jù)任務(wù)描述實(shí)現(xiàn)案例:賬號(hào)密碼檢測功能登錄系統(tǒng)一般具有賬號(hào)密碼檢測功能,即檢測用戶輸入的賬號(hào)密碼是否正確。若用戶輸入的賬號(hào)或密碼不正確,提示“用戶名或密碼錯(cuò)誤”和“您還有N次機(jī)會(huì)”;若用戶輸入的賬號(hào)和密碼正確,提示“登錄成功”;若輸入的賬號(hào)密碼錯(cuò)誤次數(shù)超過3次,提示“輸入錯(cuò)誤次數(shù)過多,請(qǐng)稍后再試”。本案例要求編寫程序,模擬登錄系統(tǒng)賬號(hào)密碼檢測功能,并限制賬號(hào)或密碼輸錯(cuò)的次數(shù)至多3次。3.4.1賬號(hào)密碼檢測功能

先定一個(gè)小目標(biāo)!3.4.2輸出五子棋棋盤根據(jù)任務(wù)描述實(shí)現(xiàn)案例:輸出五子棋棋盤五子棋是一種由雙人對(duì)弈的純策略型棋類游戲,它使用的棋盤一般由橫縱等距的各15條平行線構(gòu)成,這些線垂直交叉形成的225個(gè)交叉點(diǎn)為對(duì)弈雙方的落子點(diǎn)。本案例要求編寫代碼,實(shí)現(xiàn)按用戶要求輸出指定大小的五子棋棋盤的程序。3.4.2輸出五子棋棋盤跳轉(zhuǎn)語句3.53.5.1break語句

先定一個(gè)小目標(biāo)!掌握跳轉(zhuǎn)語句的用法,能夠在循環(huán)中使用跳轉(zhuǎn)語句結(jié)束循環(huán)break語句用于結(jié)束循環(huán),若循環(huán)中使用了break語句,程序執(zhí)行到break語句時(shí)會(huì)結(jié)束循環(huán);若循環(huán)嵌套使用了break語句,程序執(zhí)行到break語句時(shí)會(huì)結(jié)束本層循環(huán)。break語句通常與if語句配合使用,以便在條件滿足時(shí)結(jié)束循環(huán)。3.5.1break語句forwordin"Python":ifword=='o':break#結(jié)束循環(huán)print(word,end="")示例使用for循環(huán)遍歷字符串Python,一旦遍歷到字符o就使用break語句結(jié)束循環(huán)。3.5.1break語句3.5.2continue語句

先定一個(gè)小目標(biāo)!掌握跳轉(zhuǎn)語句的用法,能夠在循環(huán)中使用跳轉(zhuǎn)語句跳出當(dāng)次循環(huán)forwordin"Python":ifword=='o':break#結(jié)束循環(huán)print(word,end="")示例使用for循環(huán)遍歷字符串Python,一旦遍歷到字符o就使用break語句結(jié)束循環(huán)。3.5.2continue語句continue語句用于在滿足條件的情況下跳出本次循環(huán),該語句通常也與if語句配合使用。例如,在使用for循環(huán)遍歷字符串Python時(shí),遍歷到字符o時(shí)使用continue語句跳出本次循環(huán),forwordin"Python":ifword=='o':continue#跳出本次循環(huán)print(word,end="")

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論