




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
流程控制結(jié)構(gòu)應(yīng)用智能導(dǎo)盲犬功能開發(fā)項(xiàng)目三《Python語言程序設(shè)計(jì)》思考智能導(dǎo)盲犬如何躲避障礙物,如何進(jìn)行功能測(cè)試。智能導(dǎo)盲犬在行走過程中給出3種反饋狀態(tài),即左轉(zhuǎn)、右轉(zhuǎn)和停止,是通過獲取的障礙物距離做出判斷,選擇不同的引導(dǎo)方式。智能導(dǎo)盲犬功能需求障礙物檢測(cè)獲取障礙物距離信息,作為決策依據(jù)三種反饋狀態(tài)左轉(zhuǎn)右轉(zhuǎn)停止Python實(shí)現(xiàn)方案分支結(jié)構(gòu)使用if語句實(shí)現(xiàn)智能導(dǎo)盲犬的避障功能,基于障礙物距離做出不同決策循環(huán)結(jié)構(gòu)使用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)智能導(dǎo)盲犬功能測(cè)試,驗(yàn)證系統(tǒng)在不同情況下的表現(xiàn)在Python中,我們將學(xué)習(xí)如何通過流程控制結(jié)構(gòu)來實(shí)現(xiàn)這些功能2/18任務(wù)導(dǎo)入知識(shí)目標(biāo)①掌握算法的相關(guān)知識(shí)②掌握程序流程圖的相關(guān)知識(shí)③掌握分支結(jié)構(gòu)語句(if、if...else、if...elif...else語句的使用方法)④掌握循環(huán)結(jié)構(gòu)語句(for、while語句的使用方法)⑤掌握循環(huán)嵌套的使用方法能力目標(biāo)①學(xué)會(huì)進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)的方法和步驟②能夠根據(jù)實(shí)際需求運(yùn)用合適的分支結(jié)構(gòu)語句③能夠根據(jù)實(shí)際需求靈活使用for語句和while語句掌握Python三種基本流程控制結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)與循環(huán)結(jié)構(gòu)通過智能導(dǎo)盲犬項(xiàng)目實(shí)踐,實(shí)現(xiàn)知識(shí)與能力的雙重提升3/18知識(shí)與能力目標(biāo)算法定義算法(Algorithm)是指解決問題的確切并且完整的描述,是解決問題的一系列清晰指令,是一種解決問題的策略機(jī)制。
簡(jiǎn)單來說,算法也可以理解成解決某個(gè)問題的計(jì)算方法與步驟,它能夠接收一定規(guī)范的輸入,并在有限時(shí)間內(nèi)產(chǎn)生符合要求的輸出。算法的實(shí)施過程目的為了解決某個(gè)/某類問題,需要先對(duì)問題進(jìn)行分析,確定解決問題的方法與步驟。方法按照一定的語法規(guī)則,編寫一組能夠讓計(jì)算機(jī)執(zhí)行的程序。實(shí)施輸入可計(jì)算的、具體的、可量化的信息,獲得輸出。優(yōu)化根據(jù)結(jié)論判斷過程是否符合預(yù)期,能否調(diào)整、優(yōu)化。不同的算法可能用不同的時(shí)間、空間或效率來解決同類型問題,算法的優(yōu)劣可以用空間復(fù)雜度與時(shí)間復(fù)雜度來衡量。4/18算法概述一個(gè)算法應(yīng)該具有以下5個(gè)重要的特征,這些特征共同定義了算法的本質(zhì)和要求:有窮性一個(gè)算法應(yīng)包含有限個(gè)步驟,即算法必須在合理的時(shí)間內(nèi)執(zhí)行有限個(gè)步驟之后終止有限時(shí)間內(nèi)結(jié)束確定性算法的每一個(gè)步驟必須有確切的定義,執(zhí)行過程和結(jié)果應(yīng)該是無歧義的過程明確無歧義可行性算法中執(zhí)行的操作都可以被分解為基本的可執(zhí)行操作步驟,每個(gè)操作步驟都可以在有限時(shí)間內(nèi)完成也稱為有效性輸入用來刻畫數(shù)據(jù)對(duì)象的初始情況,多數(shù)情況下數(shù)據(jù)對(duì)象靠輸入得到,可以有零個(gè)或多個(gè)輸入初始數(shù)據(jù)來源輸出一個(gè)算法有一個(gè)或多個(gè)輸出,以反映對(duì)輸入數(shù)據(jù)的處理結(jié)果處理后的結(jié)果這些特征共同定義了算法的完整性和有效性5/18算法的五大特征一個(gè)算法是否優(yōu)秀應(yīng)從以下幾個(gè)方面來進(jìn)行衡量:確定性算法至少應(yīng)該有輸入、輸出和加工處理無歧義性可讀性程序便于閱讀、容易理解健壯性輸入數(shù)據(jù)不合法時(shí),算法能做出合理處理,而不是產(chǎn)生異常效率與存儲(chǔ)效率高并且存儲(chǔ)量低確定性的四個(gè)層次1算法程序無語法錯(cuò)誤程序代碼符合語法規(guī)范,能夠正常編譯執(zhí)行2對(duì)合法輸入產(chǎn)生滿足要求的輸出當(dāng)輸入數(shù)據(jù)符合預(yù)期格式時(shí),能得到正確的結(jié)果3對(duì)非法輸入能夠做出合理的說明當(dāng)輸入數(shù)據(jù)不符合要求時(shí),給出明確的錯(cuò)誤提示4對(duì)有意刁難的測(cè)試輸入也能產(chǎn)生滿足要求的輸出在極端或邊界情況下依然能正確處理并輸出結(jié)果優(yōu)秀的算法應(yīng)同時(shí)具備以上特性,其中確定性是最基本的要求6/18算法評(píng)價(jià)標(biāo)準(zhǔn)流程圖是描述算法的直觀且常用的方法。傳統(tǒng)流程圖用圖形來表示算法,它說明了程序的邏輯結(jié)構(gòu)以及各步驟內(nèi)容的關(guān)系和執(zhí)行順序。開始/結(jié)束表示程序的起點(diǎn)和終點(diǎn)處理表示執(zhí)行計(jì)算或數(shù)據(jù)處理操作判斷表示條件判斷,通常有兩個(gè)分支輸入/輸出表示數(shù)據(jù)的輸入或輸出操作連接符表示流程的連接點(diǎn)流向線表示程序執(zhí)行的方向和順序流程圖的表達(dá)功能邏輯結(jié)構(gòu)表示清晰展示程序的組成部分表明各部分之間的邏輯關(guān)系幫助理解程序的整體架構(gòu)執(zhí)行順序表示通過箭頭指示程序的執(zhí)行方向展示條件判斷后的不同執(zhí)行路徑顯示循環(huán)的起始和結(jié)束位置流程圖是程序設(shè)計(jì)的重要工具,有助于設(shè)計(jì)出清晰、有效的問題解決方案7/18程序流程圖基礎(chǔ)結(jié)構(gòu)化程序有3種基本結(jié)構(gòu),每種結(jié)構(gòu)有不同的執(zhí)行流程和應(yīng)用場(chǎng)景。以下通過流程圖直觀展示各結(jié)構(gòu)的特點(diǎn):順序結(jié)構(gòu)特點(diǎn):最簡(jiǎn)單的結(jié)構(gòu)按自上而下的順序逐條執(zhí)行賦值語句、輸入輸出語句等可組成順序結(jié)構(gòu)分支結(jié)構(gòu)是否特點(diǎn):對(duì)設(shè)定條件進(jìn)行判斷滿足條件或不滿足條件時(shí),選擇不同分支Python中通過if、if...else等實(shí)現(xiàn)循環(huán)結(jié)構(gòu)滿足不滿足特點(diǎn):根據(jù)條件重復(fù)執(zhí)行同一組語句兩種類型:當(dāng)型循環(huán)和直到型循環(huán)Python中通過for、while語句實(shí)現(xiàn)這三種基本結(jié)構(gòu)是程序設(shè)計(jì)的基礎(chǔ),智能導(dǎo)盲犬功能開發(fā)將綜合運(yùn)用這些結(jié)構(gòu)8/18開始語句1語句2結(jié)束開始條件判斷語句塊1語句塊2結(jié)束開始循環(huán)條件循環(huán)體結(jié)束程序的三種基本結(jié)構(gòu)
分支結(jié)構(gòu)也被稱為選擇結(jié)構(gòu)。在順序結(jié)構(gòu)中,程序是自上而下順序執(zhí)行的;而在分支結(jié)構(gòu)中,使用特定的條件語句可以使程序依據(jù)不同的條件執(zhí)行不同的語句,實(shí)現(xiàn)流程控制。單分支結(jié)構(gòu)在Python中使用if語句實(shí)現(xiàn),只處理?xiàng)l件成立的情況。
若條件不成立則跳過語句塊雙分支結(jié)構(gòu)在Python中使用if...else語句實(shí)現(xiàn),同時(shí)處理?xiàng)l件成立與不成立的情況。
兩個(gè)分支互斥,只執(zhí)行其中一個(gè)多分支結(jié)構(gòu)在Python中使用if...elif...else語句實(shí)現(xiàn),處理多種不同條件的情況。
多個(gè)條件按順序判斷,只執(zhí)行第一個(gè)滿足條件的分支
分支結(jié)構(gòu)使程序能夠根據(jù)不同條件做出不同的響應(yīng),是智能導(dǎo)盲犬避障功能的核心9/18條件判斷條件為True執(zhí)行語句塊條件判斷條件為True執(zhí)行語句塊1條件為False執(zhí)行語句塊2條件判斷1TrueFalse執(zhí)行語句塊1條件判斷2TrueFalse執(zhí)行語句塊2執(zhí)行語句塊n分支結(jié)構(gòu)概述單分支結(jié)構(gòu)-if語句if語句用來實(shí)現(xiàn)單分支結(jié)構(gòu),當(dāng)判斷條件為True時(shí)執(zhí)行語句塊,為False時(shí)跳過語句塊。語法格式if
判斷條件:
語句塊示例代碼#智能導(dǎo)盲犬檢測(cè)障礙物obstacle_distance=50ifobstacle_distance<100:print("發(fā)現(xiàn)障礙物,準(zhǔn)備避障")執(zhí)行流程雙分支結(jié)構(gòu)-if...else語句if...else語句用來實(shí)現(xiàn)雙分支結(jié)構(gòu),同時(shí)處理判斷條件成立與不成立的情況。語法格式if
判斷條件:
語句塊1else:
語句塊2示例代碼#智能導(dǎo)盲犬轉(zhuǎn)向決策left_distance=80right_distance=120ifleft_distance>right_distance:print("向左轉(zhuǎn)")else:print("向右轉(zhuǎn)")執(zhí)行流程判斷條件是條件表達(dá)式,返回結(jié)果為布爾值(True/False)10/18if語句與if...else語句if...elif...else語句用于處理多分支結(jié)構(gòu),可以依次檢查多個(gè)條件并執(zhí)行相應(yīng)的代碼塊首先對(duì)判斷條件1進(jìn)行判斷,為True時(shí)執(zhí)行語句塊1當(dāng)判斷條件1為False時(shí),繼續(xù)判斷條件2,以此類推當(dāng)所有條件均為False時(shí),執(zhí)行else語句塊嵌套if語句當(dāng)程序涉及多個(gè)判斷條件,if語句中又包含if語句的結(jié)構(gòu)嵌套if語句允許在一個(gè)條件成立的情況下,再對(duì)其他條件進(jìn)行判斷,實(shí)現(xiàn)更復(fù)雜的邏輯結(jié)構(gòu)和決策過程多分支結(jié)構(gòu)和嵌套結(jié)構(gòu)可以靈活組合,處理更加復(fù)雜的條件判斷場(chǎng)景11/18if判斷條件1:
語句塊1elif判斷條件2:
語句塊2elif判斷條件3:
語句塊3...else:
語句塊nif外層判斷條件:
外層語句if內(nèi)層判斷條件1:
內(nèi)層語句1elif內(nèi)層判斷條件2:
內(nèi)層語句2else:
內(nèi)層語句3else:
其他外層語句內(nèi)層語句1內(nèi)層語句2/3其他外層語句if...elif...else語句與嵌套if語句
循環(huán)結(jié)構(gòu)是指在給定條件為True時(shí),重復(fù)執(zhí)行某段代碼。通過應(yīng)用循環(huán)結(jié)構(gòu),能夠以簡(jiǎn)潔的代碼實(shí)現(xiàn)重復(fù)的操作?,F(xiàn)實(shí)世界中存在許多重復(fù)發(fā)生的事情,程序中也是如此。while循環(huán)條件循環(huán):由循環(huán)條件控制執(zhí)行次數(shù),次數(shù)不確定特點(diǎn):當(dāng)循環(huán)條件為True時(shí),重復(fù)執(zhí)行循環(huán)體,直到條件為False#while循環(huán)示例while循環(huán)條件:#循環(huán)體語句1語句2for循環(huán)遍歷循環(huán):常用于對(duì)序列對(duì)象逐一訪問特點(diǎn):遍歷完序列中所有元素后結(jié)束循環(huán)#for循環(huán)示例for循環(huán)變量in遍歷對(duì)象:#循環(huán)體語句1語句2Python還提供跳轉(zhuǎn)語句(break、continue、pass)來控制循環(huán)流程12/18循環(huán)執(zhí)行流程循環(huán)結(jié)構(gòu)的要點(diǎn):有明確的循環(huán)條件有確定的循環(huán)體有適當(dāng)?shù)难h(huán)控制循環(huán)結(jié)構(gòu)概述語法格式while
循環(huán)條件:
循環(huán)體語句1
循環(huán)體語句2...后續(xù)語句13/18while循環(huán)語句for循環(huán)是一種最常用的循環(huán),一般用來實(shí)現(xiàn)遍歷。遍歷是對(duì)某序列對(duì)象逐一進(jìn)行訪問的過程,例如依次訪問字符串中的字符。for...in結(jié)構(gòu)語法格式關(guān)鍵要點(diǎn)關(guān)鍵字為for和in循環(huán)變量用于保存每次循環(huán)所訪問的遍歷對(duì)象中的元素遍歷對(duì)象可以是字符串、文件、元組、列表、字典等當(dāng)遍歷對(duì)象中的元素遍歷完成后,循環(huán)結(jié)束示例for...in...range()結(jié)構(gòu)語法格式range()函數(shù)range()函數(shù)可以生成一系列整數(shù)序列:range(stop):生成[0,stop)的整數(shù)序列range(start,stop):生成[start,stop)的整數(shù)序列range(start,stop,step):生成從start開始,以step為步長,到stop結(jié)束(不含)的整數(shù)序列示例14/18for
循環(huán)變量
in
遍歷對(duì)象:
語句塊#遍歷字符串中的每個(gè)字符forcharin
"Python":
print(char)for
循環(huán)變量
inrange(參數(shù)列表):
語句塊#使用range()循環(huán)5次foriinrange(5):
print(i)#輸出:0,1,2,3,4#使用start,stop參數(shù)foriinrange(1,6):
print(i)#輸出:1,2,3,4,5for循環(huán)語句在循環(huán)中嵌套循環(huán)可以實(shí)現(xiàn)更加復(fù)雜的邏輯結(jié)構(gòu)。按照不同的循環(huán)語句,可以將循環(huán)嵌套分為while循環(huán)嵌套與for循環(huán)嵌套。while循環(huán)嵌套while循環(huán)嵌套是指while循環(huán)中嵌套了while循環(huán)或for循環(huán)。語法格式:while循環(huán)條件1:
語句塊1while循環(huán)條件2:
語句塊2
語句塊3應(yīng)用場(chǎng)景:適用于需要在一個(gè)條件循環(huán)內(nèi)基于另一個(gè)條件進(jìn)行循環(huán)處理的情況,如二維數(shù)據(jù)處理。for循環(huán)嵌套for循環(huán)嵌套和while循環(huán)嵌套類似,可以嵌套for循環(huán),也可以嵌套while循環(huán)。語法格式:for循環(huán)變量1in遍歷對(duì)象1:
語句塊1for循環(huán)變量2in遍歷對(duì)象2:
語句塊2
語句塊3應(yīng)用場(chǎng)景:適用于需要遍歷多維數(shù)據(jù)結(jié)構(gòu),如矩陣處理、多層嵌套結(jié)構(gòu)遍歷等場(chǎng)景。循環(huán)嵌套能夠?qū)崿F(xiàn)更復(fù)雜的邏輯結(jié)構(gòu),但需要注意控制循環(huán)層次,避免過度嵌套導(dǎo)致性能問題15/18外層while循環(huán)
語句塊1,語句塊3語句塊2內(nèi)層while/for循環(huán)外層for循環(huán)
語句塊1,語句塊3語句塊2內(nèi)層for/while循環(huán)循環(huán)嵌套循環(huán)語句在條件滿足時(shí)會(huì)一直執(zhí)行,當(dāng)需要改變循環(huán)流程時(shí),可以使用跳轉(zhuǎn)語句來控制循環(huán),也稱為循環(huán)控制語句。Python中常用的三種跳轉(zhuǎn)語句分別是break、continue和pass。break語句作用:結(jié)束循環(huán),跳出整個(gè)循環(huán)結(jié)構(gòu)在嵌套循環(huán)中使用時(shí),會(huì)停止最深層次循環(huán),執(zhí)行后續(xù)程序whilecondition:ifexit_condition:break#完全跳出循環(huán)continue語句作用:跳出本次循環(huán),開始下一輪循環(huán)在while循環(huán)中:跳轉(zhuǎn)至循環(huán)條件并判斷在for循環(huán)中:將下一個(gè)元素賦給循環(huán)變量后判斷foriinrange(10):ifi%2==0:continue#跳過當(dāng)前循環(huán)pass語句作用:空語句,保持程序結(jié)構(gòu)完整性用于構(gòu)思循環(huán)或函數(shù)時(shí)進(jìn)行占位程序執(zhí)行到pass語句時(shí),不會(huì)進(jìn)行任何操作ifcondition:pass#暫時(shí)不做任何操作對(duì)比與區(qū)別語句功能對(duì)循環(huán)的影響使用場(chǎng)景break結(jié)束循環(huán)完全跳出循環(huán)結(jié)構(gòu)當(dāng)找到目標(biāo)或滿足退出條件時(shí)continue跳過當(dāng)前循環(huán)開始下一輪循環(huán)跳過不需要處理的情況pass空語句無影響代碼占位,保持結(jié)構(gòu)完整性恰當(dāng)使用跳轉(zhuǎn)語句可以更靈活地控制程序流程,提高代碼的效率和可讀性16/18跳轉(zhuǎn)語句結(jié)合前面所學(xué)的分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu),我們可以實(shí)現(xiàn)智能導(dǎo)盲犬的避障功能和功能測(cè)試框架。避障功能實(shí)現(xiàn)(分支結(jié)構(gòu))distance_f=3distance_l=3distance_r=30ifdistance_f<5:print("前方有障礙物,請(qǐng)改變方向")
ifdistance_l<5:print("左方有障礙物,請(qǐng)勿左轉(zhuǎn)")
ifdistance_r>=5:print("右方障礙物距離較遠(yuǎn),請(qǐng)右轉(zhuǎn)")else:print("右方有障礙物,已無法改變方向,請(qǐng)掉頭")分支結(jié)構(gòu)應(yīng)用要點(diǎn)使用if...elif...else結(jié)構(gòu)實(shí)現(xiàn)多條件判斷嵌套if語句處理復(fù)雜決策邏輯基于距離信息做出左轉(zhuǎn)、右轉(zhuǎn)或直行的決策功能測(cè)試實(shí)現(xiàn)(循環(huán)結(jié)構(gòu))speed=int(input("請(qǐng)輸入當(dāng)前速度:"))sum=0foriinrange(1,10):print("即將開始第",i,"圈“
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 納米材料吸附鋰離子-洞察與解讀
- 湖北2025自考行政管理行政法與行政訴訟法一易錯(cuò)題專練
- 金融量化考試試題及答案
- 貴州2025自考電子商務(wù)與現(xiàn)代物流簡(jiǎn)答題專練
- 云南2025自考區(qū)域國別學(xué)比較政治學(xué)主觀題專練
- 江蘇2025自考人力資源管理人員素質(zhì)測(cè)評(píng)理論與方法客觀題專練
- 廣東2025自考電子商務(wù)網(wǎng)絡(luò)經(jīng)濟(jì)與企業(yè)管理主觀題專練
- 城市韌性評(píng)估模型與智能城市規(guī)劃的融合發(fā)展
- 城市更新中的信息化技術(shù)與智能管理
- 大冶中考地理題庫及答案
- 新聞文體的翻譯課件
- 學(xué)業(yè)質(zhì)量標(biāo)準(zhǔn)
- 判斷中藥質(zhì)量變異現(xiàn)象及防治
- 有機(jī)化合物的分類
- 胃癌的影像學(xué)診斷
- 新疆維吾爾自治區(qū)國家級(jí)公益林管護(hù)辦法
- JJF 1915-2021傾角儀校準(zhǔn)規(guī)范
- GB/T 15382-2021氣瓶閥通用技術(shù)要求
- 零星工程維修合同
- 傳染病布氏菌病 課件
- 初始過程能力研究報(bào)告-PPK
評(píng)論
0/150
提交評(píng)論