版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育培訓(xùn)場(chǎng)地短期租賃合同
- 二零二五年度賓館房間租賃合同及餐飲服務(wù)合作框架協(xié)議3篇
- 二零二五年度建筑物拆除工程拆除物堆放與處理合同3篇
- 2025年度綠色交通系統(tǒng)設(shè)計(jì)與實(shí)施合同2篇
- 感恩照亮青春砥礪前行路
- 二零二五年度房地產(chǎn)眾籌分銷代理合作協(xié)議3篇
- 二零二五年度地產(chǎn)公司工程合同履約質(zhì)量監(jiān)督與整改協(xié)議3篇
- 二零二五年度城市住宅產(chǎn)權(quán)分割與繼承協(xié)議書(shū)3篇
- 二零二五年度寄售交易服務(wù)協(xié)議:珠寶鑒定寄售合作2篇
- 二零二五年度家庭維修保養(yǎng)服務(wù)合同9篇
- 滯銷風(fēng)險(xiǎn)管理制度內(nèi)容
- 關(guān)于物業(yè)服務(wù)意識(shí)的培訓(xùn)
- JJF 2184-2025電子計(jì)價(jià)秤型式評(píng)價(jià)大綱(試行)
- 排污許可證辦理合同1(2025年)
- GB/T 44890-2024行政許可工作規(guī)范
- 上??颇恳豢荚囶}庫(kù)參考資料1500題-上海市地方題庫(kù)-0
- 【7地XJ期末】安徽省宣城市寧國(guó)市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試地理試題(含解析)
- 設(shè)備操作、保養(yǎng)和維修規(guī)定(4篇)
- 2025年度日歷臺(tái)歷黃歷模板
- 醫(yī)療行業(yè)十四五規(guī)劃
- 施工臨建布置方案
評(píng)論
0/150
提交評(píng)論