Python程序設(shè)計(jì)基礎(chǔ)-教學(xué)課件 第3章 程序控制結(jié)構(gòu)_第1頁(yè)
Python程序設(shè)計(jì)基礎(chǔ)-教學(xué)課件 第3章 程序控制結(jié)構(gòu)_第2頁(yè)
Python程序設(shè)計(jì)基礎(chǔ)-教學(xué)課件 第3章 程序控制結(jié)構(gòu)_第3頁(yè)
Python程序設(shè)計(jì)基礎(chǔ)-教學(xué)課件 第3章 程序控制結(jié)構(gòu)_第4頁(yè)
Python程序設(shè)計(jì)基礎(chǔ)-教學(xué)課件 第3章 程序控制結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章

程序控制結(jié)構(gòu)目錄3.1程序控制的基本結(jié)構(gòu)3.2程序的順序結(jié)構(gòu)3.3程序的分支結(jié)構(gòu)3.4程序的循環(huán)結(jié)構(gòu)程序執(zhí)行的控制流程,無(wú)論多么復(fù)雜,都可以通過(guò)三種結(jié)構(gòu)的合理組合來(lái)實(shí)現(xiàn)。三種基本結(jié)構(gòu)的共同特點(diǎn):1)只有一個(gè)入口。2)只有一個(gè)出口。3)結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到。4)結(jié)構(gòu)內(nèi)不存在“死循環(huán)”(無(wú)終止的循環(huán))。3.1程序控制的基本結(jié)構(gòu)3.2程序的順序結(jié)構(gòu)

順序結(jié)構(gòu)是編程中最簡(jiǎn)單、最基本的控制結(jié)構(gòu)之一,如圖3-1所示,在順序結(jié)構(gòu)中,代碼按照書(shū)寫(xiě)的順序一行一行地執(zhí)行,沒(méi)有分支或循環(huán)。程序從上到下依次執(zhí)行每一條語(yǔ)句,形成線性的執(zhí)行流程。圖3-1順序結(jié)構(gòu)示意圖3.3程序的分支結(jié)構(gòu)程序的分支結(jié)構(gòu)是當(dāng)程序執(zhí)行到條件判斷語(yǔ)句時(shí),首先判斷條件,根據(jù)條件表達(dá)式的值選擇相應(yīng)的分支執(zhí)行。當(dāng)條件表達(dá)式為T(mén)rue時(shí),執(zhí)行真分支,條件表達(dá)式為Flase時(shí),執(zhí)行對(duì)應(yīng)假分支。在Python中分支結(jié)構(gòu)包括單分支、雙分支、多分支以及嵌套分支四種形式。3.3.1單分支結(jié)構(gòu):if語(yǔ)句單分支結(jié)構(gòu)是指包含一個(gè)條件判斷的分支結(jié)構(gòu),通常使用if語(yǔ)句。程序執(zhí)行到if語(yǔ)句時(shí)先進(jìn)行條件判斷,若結(jié)果為T(mén)rue,則執(zhí)行相應(yīng)的語(yǔ)句塊,否則什么都不執(zhí)行,繼續(xù)執(zhí)行if語(yǔ)句塊之后內(nèi)容。Python中if語(yǔ)句的語(yǔ)法格式:

if條件表達(dá)式:

語(yǔ)句塊單分支流程圖如圖3-2所示。圖3-2單分支結(jié)構(gòu)流程圖Python中if-else語(yǔ)句用來(lái)形成雙分支結(jié)構(gòu),語(yǔ)法格式如下:if條件表達(dá)式:

語(yǔ)句塊1else:

語(yǔ)句塊23.3.2雙分支結(jié)構(gòu):if-else語(yǔ)句雙分支結(jié)構(gòu)(if-else)的執(zhí)行過(guò)程:首先判斷條件表達(dá)式的值,當(dāng)條件表達(dá)式為真(True)時(shí),執(zhí)行if后面的語(yǔ)句塊1,否則執(zhí)行else后面的語(yǔ)句塊2。雙分支語(yǔ)句用于區(qū)分<條件表達(dá)式>的兩種可能:True或者False,分別形成不同的執(zhí)行路徑。對(duì)應(yīng)的結(jié)構(gòu)流程圖如圖3-3所示。圖3-3雙分支結(jié)構(gòu)流程圖3.3.3多分支結(jié)構(gòu)if-elif-else語(yǔ)句Python的多分支結(jié)構(gòu)if-elif-else,語(yǔ)法格式如下:if條件表達(dá)式1:語(yǔ)句塊1elif條件表達(dá)式2:語(yǔ)句塊2......else:語(yǔ)句塊n程序運(yùn)行至if-elif-else語(yǔ)句時(shí),先進(jìn)入if語(yǔ)句進(jìn)行判斷,條件為T(mén)rue,執(zhí)行語(yǔ)句塊1;否則進(jìn)入elif進(jìn)行判斷,為T(mén)rue,執(zhí)行語(yǔ)句塊2,否則進(jìn)入下一個(gè)elif判斷,按此順序依次進(jìn)行。當(dāng)所有條件不滿足時(shí),執(zhí)行最后一個(gè)else語(yǔ)句塊n。多分支結(jié)構(gòu)流程圖如圖3-4所示。圖3-4多分支結(jié)構(gòu)流程圖3.3.4嵌套選擇結(jié)構(gòu)

嵌套選擇結(jié)構(gòu)是指選擇結(jié)構(gòu)(if語(yǔ)句、if-else語(yǔ)句或if-elif-else語(yǔ)句)中的語(yǔ)句塊又包含一個(gè)或多個(gè)選擇結(jié)構(gòu)(if語(yǔ)句、if-else語(yǔ)句或if-elif-else語(yǔ)句)。

語(yǔ)法結(jié)構(gòu)如下:

if條件表達(dá)式1:

if條件表達(dá)式2:

語(yǔ)句塊1

else:

語(yǔ)句塊2

else:

語(yǔ)句塊33.4程序的循環(huán)結(jié)構(gòu)程序的循環(huán)結(jié)構(gòu)是指在滿足一定的條件時(shí),重復(fù)執(zhí)行某段代碼的一種編碼結(jié)構(gòu)。在Python中常見(jiàn)的循環(huán)結(jié)構(gòu)是while循環(huán)和for循環(huán)。3.4.1while循環(huán)語(yǔ)句while循環(huán)語(yǔ)句的執(zhí)行過(guò)程:程序執(zhí)行到while循環(huán)時(shí),進(jìn)行第一次循環(huán)條件判斷,判斷結(jié)果若為T(mén)ure,則執(zhí)行循環(huán)體語(yǔ)句并進(jìn)行下一次條件判斷。依照此順序循環(huán)多次執(zhí)行,直至條件判斷結(jié)果為False時(shí),循環(huán)終止,執(zhí)行while循環(huán)之后語(yǔ)句。while循環(huán)當(dāng)條件不滿足時(shí)結(jié)束,因此必須要提前確定循環(huán)次數(shù)。while循環(huán)結(jié)構(gòu)流程圖如3-5所示。語(yǔ)法結(jié)構(gòu):

while循環(huán)條件:

循環(huán)體圖3-5while循環(huán)結(jié)構(gòu)流程圖3.4.2for循環(huán)語(yǔ)句for循環(huán)是一種迭代循環(huán),它可以遍歷一個(gè)可迭代對(duì)象(如列表、元組、字符串等)中的每個(gè)元素,并對(duì)其執(zhí)行相同的操作。語(yǔ)法格式:

for循環(huán)變量

in可迭代對(duì)象:

循環(huán)體for循環(huán)需要知道執(zhí)行次數(shù)。其結(jié)構(gòu)流程圖如3-6所示:圖3-6for循環(huán)結(jié)構(gòu)流程圖3.4.3

循環(huán)嵌套結(jié)構(gòu)

當(dāng)兩個(gè)(多個(gè))循環(huán)嵌套時(shí),位于外層的循環(huán)結(jié)構(gòu)經(jīng)常被稱為外層循環(huán)或外循環(huán),位于內(nèi)層的循環(huán)結(jié)構(gòu)被稱為內(nèi)層循環(huán)或內(nèi)循環(huán)。在程序執(zhí)行過(guò)程中,先判斷外循環(huán)條件,當(dāng)外循環(huán)條件為T(mén)rue時(shí),進(jìn)入內(nèi)循環(huán)并判斷內(nèi)循環(huán)條件,當(dāng)內(nèi)循環(huán)條件為T(mén)rue時(shí)依次執(zhí)行語(yǔ)句,進(jìn)行內(nèi)循環(huán)迭代,當(dāng)內(nèi)循環(huán)條件為False時(shí)退出內(nèi)循環(huán),進(jìn)入外循環(huán)迭代,直至外循環(huán)判斷條件為False時(shí)退出循環(huán)。循環(huán)嵌套的結(jié)構(gòu)流程圖如圖3-7所示。圖3-7

嵌套循環(huán)流程圖3.4.4break語(yǔ)句和continue語(yǔ)句

(1)break語(yǔ)句

break語(yǔ)句用于終止當(dāng)前循環(huán),并跳出循環(huán)體。一旦break語(yǔ)句被執(zhí)行,程序?qū)⒘⒓赐顺鲅h(huán),不再執(zhí)行循環(huán)內(nèi)未執(zhí)行的語(yǔ)句,開(kāi)始執(zhí)行循環(huán)后的下一條語(yǔ)句。當(dāng)多個(gè)for語(yǔ)句、while語(yǔ)句彼此嵌套時(shí),當(dāng)break語(yǔ)句被執(zhí)行時(shí),程序?qū)⒘⒓赐顺霎?dāng)前內(nèi)層循環(huán),不再執(zhí)行該內(nèi)層循環(huán)后的代碼,然后繼續(xù)執(zhí)行外層循環(huán)中的代碼。

(2)continue語(yǔ)句

continue語(yǔ)句用于跳過(guò)當(dāng)前循環(huán)中的剩余代碼,直接進(jìn)入下一次循環(huán)迭代。它不會(huì)終止整個(gè)循環(huán),而是跳過(guò)當(dāng)前迭代并繼續(xù)執(zhí)行下一次迭代。3.4.5pass語(yǔ)句

在Python中還有一個(gè)pass語(yǔ)句。pass語(yǔ)句是一個(gè)占位符,在編寫(xiě)代碼時(shí),還沒(méi)有想好要寫(xiě)什么,可以使用pass語(yǔ)句。它不做任何事情,只是一個(gè)占位符,用于在語(yǔ)法上需要語(yǔ)句的地方放置,以使程序結(jié)構(gòu)更清晰。3.4.6while-else語(yǔ)句在Python中,while循環(huán)可以與else語(yǔ)句結(jié)合使用,形成while-else結(jié)構(gòu)。語(yǔ)法結(jié)構(gòu):

while循環(huán)條件:

語(yǔ)句塊1

else:

語(yǔ)句塊2執(zhí)行過(guò)程:循環(huán)條件成立時(shí),執(zhí)行語(yǔ)句塊1,當(dāng)循環(huán)條件不成立時(shí),執(zhí)行語(yǔ)句塊2。3.4.7for-else語(yǔ)句

當(dāng)for循環(huán)正常結(jié)束時(shí),else語(yǔ)句塊中的代碼將被執(zhí)行,以完成必要的清理工作或執(zhí)行后續(xù)操作。for循環(huán)中else代碼塊同樣是可選的代碼塊。語(yǔ)法格式:

for循環(huán)變量in遍歷結(jié)構(gòu):

語(yǔ)句塊1

else:

語(yǔ)句塊2本章小結(jié)

分支結(jié)構(gòu)包括單分支結(jié)構(gòu)(if語(yǔ)句)、雙分支結(jié)構(gòu)(if-else語(yǔ)句)以及多分支結(jié)構(gòu)(if-elif-else語(yǔ)句)。循環(huán)結(jié)構(gòu)包括while

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論