Python語(yǔ)言基礎(chǔ)分支語(yǔ)句_循環(huán)語(yǔ)句_第1頁(yè)
Python語(yǔ)言基礎(chǔ)分支語(yǔ)句_循環(huán)語(yǔ)句_第2頁(yè)
Python語(yǔ)言基礎(chǔ)分支語(yǔ)句_循環(huán)語(yǔ)句_第3頁(yè)
Python語(yǔ)言基礎(chǔ)分支語(yǔ)句_循環(huán)語(yǔ)句_第4頁(yè)
Python語(yǔ)言基礎(chǔ)分支語(yǔ)句_循環(huán)語(yǔ)句_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Python Python 基礎(chǔ)基礎(chǔ)分支與循環(huán)分支與循環(huán)1目目 錄錄 程序基本結(jié)構(gòu)程序基本結(jié)構(gòu) 分支結(jié)構(gòu)分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 布爾表達(dá)式布爾表達(dá)式 練習(xí)練習(xí) 總結(jié)總結(jié)23程序設(shè)計(jì)基本結(jié)構(gòu)程序設(shè)計(jì)基本結(jié)構(gòu) 任何算法任何算法( (程序程序) )都可以由順序結(jié)構(gòu)、選擇結(jié)都可以由順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)這三種基本結(jié)構(gòu)組合來實(shí)現(xiàn)。構(gòu)和循環(huán)結(jié)構(gòu)這三種基本結(jié)構(gòu)組合來實(shí)現(xiàn)。4順序結(jié)構(gòu)順序結(jié)構(gòu)順序結(jié)構(gòu)中,按語(yǔ)句的自然順序一次執(zhí)行。順序結(jié)構(gòu)中,按語(yǔ)句的自然順序一次執(zhí)行。用順序結(jié)構(gòu)描述將華氏溫度用順序結(jié)構(gòu)描述將華氏溫度F F轉(zhuǎn)換成攝氏轉(zhuǎn)換成攝氏溫度溫度C C的流程。的流程。算法:算法: C = 5/9 C

2、 = 5/9* *(F-32)(F-32)5選擇結(jié)構(gòu)選擇結(jié)構(gòu)6循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)7流程圖流程圖- -表示算法表示算法 例:求給定半徑例:求給定半徑R R的圓面的圓面積和圓周長(zhǎng)積和圓周長(zhǎng)這是一個(gè)數(shù)學(xué)問題。這是一個(gè)數(shù)學(xué)問題。算法:算法:8流程圖流程圖- -表示算法表示算法 例:求給定半徑例:求給定半徑R R的絕的絕對(duì)值對(duì)值。算法:算法:這是分支程序結(jié)構(gòu)這是分支程序結(jié)構(gòu)9流程圖流程圖- -表示算法表示算法 例:給定例:給定K K值,求值,求1 1到到K K,連加和。,連加和。 Sum Sum里保存:里保存:1+2+3+K1+2+3+K的連加和。的連加和。重復(fù)進(jìn)行某種運(yùn)算,運(yùn)算對(duì)象有重復(fù)進(jìn)行某種運(yùn)算,運(yùn)

3、算對(duì)象有規(guī)律地變化。采用循環(huán)結(jié)構(gòu)。規(guī)律地變化。采用循環(huán)結(jié)構(gòu)。目目 錄錄 程序基本結(jié)構(gòu)程序基本結(jié)構(gòu) 分支結(jié)構(gòu)分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 布爾表達(dá)式布爾表達(dá)式 總結(jié)總結(jié)1011生活中的判斷生活中的判斷12PM2.5PM2.5指數(shù)分級(jí)例子指數(shù)分級(jí)例子程序功能的程序功能的IPOIPO模式描述為模式描述為:輸入:接受外部輸入輸入:接受外部輸入PM2.5PM2.5值值處理:空氣質(zhì)量分級(jí)算法處理:空氣質(zhì)量分級(jí)算法輸出:打印空氣質(zhì)量提醒輸出:打印空氣質(zhì)量提醒13PM2.5PM2.5指數(shù)分級(jí)例子指數(shù)分級(jí)例子- -流程圖流程圖14 pm25.pypm25.py15ifif語(yǔ)句格式語(yǔ)句格式 語(yǔ)句格式如下語(yǔ)句格式如下

4、 其中其中 是條件表達(dá)式,是條件表達(dá)式, 是一個(gè)或多個(gè)語(yǔ)句序列是一個(gè)或多個(gè)語(yǔ)句序列 先判斷先判斷 條件:條件:TrueTrue,則執(zhí)行,則執(zhí)行,再轉(zhuǎn)向下一,再轉(zhuǎn)向下一條語(yǔ)句條語(yǔ)句 False False,則直接跳過,則直接跳過,轉(zhuǎn)向,轉(zhuǎn)向下一條語(yǔ)句下一條語(yǔ)句16說明:比較運(yùn)算符說明:比較運(yùn)算符17說明:邏輯運(yùn)算符說明:邏輯運(yùn)算符18二分支決策二分支決策 二分支語(yǔ)法結(jié)構(gòu)如下:二分支語(yǔ)法結(jié)構(gòu)如下: PythonPython解釋器首先評(píng)估解釋器首先評(píng)估 如果如果是真的,是真的,ifif下面的語(yǔ)句被執(zhí)行;下面的語(yǔ)句被執(zhí)行; 如果如果是假的,是假的,elseelse下面的語(yǔ)句被執(zhí)行。下面的語(yǔ)句被執(zhí)行。1

5、9二分支決策二分支決策示例示例注意:冒號(hào)不能??;注意:冒號(hào)不能??; if if和和elseelse對(duì)齊,并且前面不能有空格。對(duì)齊,并且前面不能有空格。20多分支決策多分支決策 多分支決策是解決復(fù)雜問題的多分支決策是解決復(fù)雜問題的重要手段之一重要手段之一 一個(gè)三分支決策可以由兩個(gè)二一個(gè)三分支決策可以由兩個(gè)二分支結(jié)構(gòu)嵌套實(shí)現(xiàn)分支結(jié)構(gòu)嵌套實(shí)現(xiàn) 使用使用if-elseif-else描述多分支決策描述多分支決策時(shí),實(shí)現(xiàn)更多分支需要更多嵌套,時(shí),實(shí)現(xiàn)更多分支需要更多嵌套,影響程序的易讀性影響程序的易讀性 PythonPython使用使用if-elif-elseif-elif-else描述描述多分支決策,簡(jiǎn)

6、化分支結(jié)構(gòu)的嵌多分支決策,簡(jiǎn)化分支結(jié)構(gòu)的嵌套問題套問題21多分支決策多分支決策 使用使用if-elif-elseif-elif-else描述多分支決策:描述多分支決策: PythonPython輪流評(píng)估每個(gè)條件,來尋找條件為輪流評(píng)估每個(gè)條件,來尋找條件為TrueTrue的分支,并執(zhí)行該分支下的語(yǔ)句;如果沒有任何條的分支,并執(zhí)行該分支下的語(yǔ)句;如果沒有任何條件成立,件成立,elseelse下面的語(yǔ)句被執(zhí)行,下面的語(yǔ)句被執(zhí)行,elseelse子句是可選子句是可選的。的。22PM2.5PM2.5指數(shù)分級(jí)例子(版本升級(jí))指數(shù)分級(jí)例子(版本升級(jí)) 使用使用if-elif-elseif-elif-else

7、結(jié)構(gòu)改進(jìn)之前的程序:結(jié)構(gòu)改進(jìn)之前的程序:23PM2.5PM2.5指數(shù)分級(jí)例子指數(shù)分級(jí)例子(采用小于條件)(采用小于條件)24如果按照分?jǐn)?shù)劃定結(jié)果:如果按照分?jǐn)?shù)劃定結(jié)果:90分或以上:excellent80分或以上:good60分或以上:passed60分以下:failed請(qǐng)編寫程序根據(jù)分?jǐn)?shù)打印結(jié)果。鞏固練習(xí)鞏固練習(xí)25猜拳游戲猜拳游戲26試一試試一試編寫一個(gè)編寫一個(gè)pythonpython程序,輸入兩個(gè)數(shù),比較它們的大小并輸程序,輸入兩個(gè)數(shù),比較它們的大小并輸出其中較大者。出其中較大者。目目 錄錄 程序基本結(jié)構(gòu)程序基本結(jié)構(gòu) 分支結(jié)構(gòu)分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 布爾表達(dá)式布爾表達(dá)式 總結(jié)總結(jié)27

8、28生活中的循環(huán)生活中的循環(huán)29軟件開發(fā)中循環(huán)的使用場(chǎng)景軟件開發(fā)中循環(huán)的使用場(chǎng)景跟媳婦承認(rèn)錯(cuò)誤,說一萬(wàn)遍跟媳婦承認(rèn)錯(cuò)誤,說一萬(wàn)遍“媳婦兒,媳婦兒,我錯(cuò)了我錯(cuò)了!”print “媳婦兒,我錯(cuò)了!媳婦兒,我錯(cuò)了!”print “媳婦兒,我錯(cuò)了!媳婦兒,我錯(cuò)了!”print “媳婦兒,我錯(cuò)了!媳婦兒,我錯(cuò)了!” (還有(還有997遍)遍)使用循環(huán),一句話搞定使用循環(huán),一句話搞定i = 0while i 10000:print “媳婦兒,我錯(cuò)了!媳婦兒,我錯(cuò)了!”i += 130一般情況下,需要一般情況下,需要多次重復(fù)執(zhí)行的代碼多次重復(fù)執(zhí)行的代碼,都可,都可以用循環(huán)的方式來完成以用循環(huán)的方式來完成循環(huán)

9、不是必須要使用的,但是為了循環(huán)不是必須要使用的,但是為了提高代碼的提高代碼的重復(fù)使用率重復(fù)使用率,所以有經(jīng)驗(yàn)的開發(fā)者都會(huì)采用循環(huán),所以有經(jīng)驗(yàn)的開發(fā)者都會(huì)采用循環(huán)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)31循環(huán)結(jié)構(gòu)回顧循環(huán)結(jié)構(gòu)回顧forfor循環(huán)循環(huán) for 循環(huán)作為編程語(yǔ)言中最強(qiáng)力的特征之一循環(huán)作為編程語(yǔ)言中最強(qiáng)力的特征之一 Python可以使用可以使用for語(yǔ)句循環(huán)遍歷整個(gè)序列的值語(yǔ)句循環(huán)遍歷整個(gè)序列的值 for循環(huán)所做的概括為一句話:循環(huán)所做的概括為一句話: 于于 其中的每一個(gè)元素,做其中的每一個(gè)元素,做事情事情32forfor循環(huán)循環(huán)n在在for循環(huán)中,循環(huán)變量循環(huán)中,循環(huán)變量var遍歷了隊(duì)列中的每一個(gè)值,循遍

10、歷了隊(duì)列中的每一個(gè)值,循環(huán)的語(yǔ)句體為每個(gè)值執(zhí)行一次。環(huán)的語(yǔ)句體為每個(gè)值執(zhí)行一次。 33forfor循環(huán)循環(huán)34forfor循環(huán)循環(huán) 為了更深入了解為了更深入了解for循環(huán),試著思考下面這個(gè)問題,如何循環(huán),試著思考下面這個(gè)問題,如何打印出這樣的結(jié)果?打印出這樣的結(jié)果?1 + 1 = 22 + 1 = 310 + 1 = 11 內(nèi)置函數(shù)內(nèi)置函數(shù)-range() 3536forfor循環(huán)循環(huán)- -求平均數(shù)求平均數(shù)n 平均數(shù)計(jì)算程序的平均數(shù)計(jì)算程序的IPO如下:如下:輸入:待輸入數(shù)字個(gè)數(shù),數(shù)字處理:平均數(shù)算法輸出:平均數(shù)n 通用設(shè)計(jì)方案:通用設(shè)計(jì)方案:輸入數(shù)字的個(gè)數(shù)n將sum初始化為0循環(huán)n次:輸入數(shù)

11、字x將x加入sum中將sum/n作為平均數(shù)輸出出來37forfor循環(huán)循環(huán)- -代碼代碼38forfor循環(huán)循環(huán)- -執(zhí)行執(zhí)行n 以下是程序的執(zhí)行結(jié)果以下是程序的執(zhí)行結(jié)果:39forfor循環(huán)循環(huán)- -缺點(diǎn)缺點(diǎn)n 程序開始時(shí)必須提供輸入數(shù)字總數(shù)程序開始時(shí)必須提供輸入數(shù)字總數(shù)n 大規(guī)模數(shù)字求平均值需要用戶首先確定個(gè)數(shù)大規(guī)模數(shù)字求平均值需要用戶首先確定個(gè)數(shù)n for循環(huán)是需要提供固定循環(huán)次數(shù)的循環(huán)方式循環(huán)是需要提供固定循環(huán)次數(shù)的循環(huán)方式n Python提供了另一種循環(huán)模式即無(wú)限循環(huán),不需要提前提供了另一種循環(huán)模式即無(wú)限循環(huán),不需要提前知道循環(huán)次數(shù),即我們提到的當(dāng)型循環(huán)也叫條件循環(huán)知道循環(huán)次數(shù),即我

12、們提到的當(dāng)型循環(huán)也叫條件循環(huán)4041forfor與與ifif相結(jié)合相結(jié)合 如何實(shí)現(xiàn)這樣一個(gè)程序:歌曲列表中有三首歌如何實(shí)現(xiàn)這樣一個(gè)程序:歌曲列表中有三首歌“Holy Diver,Thunderstruck,Rebel Rebel”,當(dāng)播放到每首時(shí),當(dāng)播放到每首時(shí),分別顯示歌手名字分別顯示歌手名字“Dio,AC/CD,Divid Bowie”? 42嵌套循環(huán)嵌套循環(huán) 編程中還有一種常見的循環(huán),被稱之為編程中還有一種常見的循環(huán),被稱之為嵌套循環(huán)嵌套循環(huán),其實(shí)這,其實(shí)這種循環(huán)并不復(fù)雜還非常實(shí)用。種循環(huán)并不復(fù)雜還非常實(shí)用。 例如:例如:“九九乘法表九九乘法表” 43嵌套循環(huán)嵌套循環(huán)例:例:“九九乘法表

13、九九乘法表” 原理原理:最外層的循環(huán)依次是將數(shù)值19存儲(chǔ)到變量i中,變量i每取一次值,內(nèi)層循環(huán)就要依次將19中存儲(chǔ)在變量j中,最后展示當(dāng)前的i,j,與i*j的結(jié)果。 whilewhile循環(huán)循環(huán) 語(yǔ)法:語(yǔ)法:while語(yǔ)句語(yǔ)句while語(yǔ)句中語(yǔ)句中是布爾表達(dá)式是布爾表達(dá)式 循環(huán)體是一條或多條語(yǔ)句循環(huán)體是一條或多條語(yǔ)句當(dāng)條件為真時(shí),循環(huán)體重復(fù)執(zhí)行當(dāng)條件為真時(shí),循環(huán)體重復(fù)執(zhí)行當(dāng)條件為假時(shí),循環(huán)終止當(dāng)條件為假時(shí),循環(huán)終止 在在while循環(huán)中,條件總是在循環(huán)頂部被判斷,即在循環(huán)循環(huán)中,條件總是在循環(huán)頂部被判斷,即在循環(huán)體執(zhí)行之前,這種結(jié)構(gòu)又被稱為前測(cè)循環(huán)體執(zhí)行之前,這種結(jié)構(gòu)又被稱為前測(cè)循環(huán)44只要只

14、要條件成立,就一直做條件成立,就一直做,whilewhile循環(huán)循環(huán) 下面是使用下面是使用while循環(huán)完成從循環(huán)完成從0到到10的求和打印平均值的例子:的求和打印平均值的例子: 如果循環(huán)體忘記累加如果循環(huán)體忘記累加i,條件判斷,條件判斷一直為真,循環(huán)體將一直執(zhí)行,這一直為真,循環(huán)體將一直執(zhí)行,這就是所謂的死循環(huán)。就是所謂的死循環(huán)。這時(shí)通常使用這時(shí)通常使用+c來終止一來終止一個(gè)程序個(gè)程序45for/whilefor/while中的中的elseelse、breakbreak用法用法 break 語(yǔ)句語(yǔ)句跳出最內(nèi)層的跳出最內(nèi)層的for/while循環(huán)循環(huán)46for/whilefor/while中的

15、中的continuecontinue用法用法 continue 語(yǔ)句語(yǔ)句,其作用為結(jié)束本次循環(huán)、即跳出循環(huán),其作用為結(jié)束本次循環(huán)、即跳出循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,對(duì)于體中下面尚未執(zhí)行的語(yǔ)句,對(duì)于while循環(huán),繼續(xù)求解循循環(huán),繼續(xù)求解循環(huán)條件。而對(duì)于環(huán)條件。而對(duì)于for循環(huán)程序流程接著遍歷循環(huán)列表。循環(huán)程序流程接著遍歷循環(huán)列表。 continue和和break語(yǔ)句的區(qū)別是:語(yǔ)句的區(qū)別是: continue語(yǔ)句只結(jié)束本次循環(huán),而不終止整個(gè)循環(huán)的執(zhí)行。語(yǔ)句只結(jié)束本次循環(huán),而不終止整個(gè)循環(huán)的執(zhí)行。 break 語(yǔ)句結(jié)束整個(gè)循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否語(yǔ)句結(jié)束整個(gè)循環(huán)過程,不再判斷執(zhí)行循環(huán)的

16、條件是否成立成立47for/whilefor/while中的中的elseelse用法用法 語(yǔ)句與循環(huán)的搭配使語(yǔ)句與循環(huán)的搭配使用,用,else:后的表達(dá)式在:后的表達(dá)式在for循環(huán)列表遍歷完畢后或循環(huán)列表遍歷完畢后或while條件語(yǔ)句不滿足的情況下執(zhí)行,例如:條件語(yǔ)句不滿足的情況下執(zhí)行,例如:48目目 錄錄 程序基本結(jié)構(gòu)程序基本結(jié)構(gòu) 分支結(jié)構(gòu)分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 布爾表達(dá)式布爾表達(dá)式 總結(jié)總結(jié)49布爾表達(dá)式布爾表達(dá)式 條件語(yǔ)句和循環(huán)語(yǔ)句都是用布爾表達(dá)式作為條件條件語(yǔ)句和循環(huán)語(yǔ)句都是用布爾表達(dá)式作為條件 布爾值為真或假,以布爾值為真或假,以False和和True表示表示 前面經(jīng)常使用布爾表

17、達(dá)式比較兩個(gè)值,前面經(jīng)常使用布爾表達(dá)式比較兩個(gè)值,如:如:while x=050布爾操作符的引入布爾操作符的引入 簡(jiǎn)單條件在復(fù)雜決策情況下存在一定缺陷簡(jiǎn)單條件在復(fù)雜決策情況下存在一定缺陷 例如,確定兩個(gè)點(diǎn)是否在同一位置,即是否有相同的例如,確定兩個(gè)點(diǎn)是否在同一位置,即是否有相同的x坐標(biāo)和坐標(biāo)和y坐標(biāo),下面是處理代碼片段:坐標(biāo),下面是處理代碼片段:51布爾操作符布爾操作符 布爾操作符:布爾操作符:andand,oror和和notnot 布爾運(yùn)算符布爾運(yùn)算符and和和or用于組合兩個(gè)布爾表達(dá)式,并產(chǎn)生用于組合兩個(gè)布爾表達(dá)式,并產(chǎn)生一個(gè)布爾結(jié)果一個(gè)布爾結(jié)果 and or not 運(yùn)算符是一個(gè)一元運(yùn)算

18、符,用來計(jì)算一個(gè)布爾表達(dá)運(yùn)算符是一個(gè)一元運(yùn)算符,用來計(jì)算一個(gè)布爾表達(dá)式的反式的反not 52布爾操作結(jié)果布爾操作結(jié)果真值表真值表53布爾操作符布爾操作符 使用布爾運(yùn)算符,可以建立任意復(fù)雜的布爾表達(dá)式使用布爾運(yùn)算符,可以建立任意復(fù)雜的布爾表達(dá)式例如:例如: a or not b and c Python中布爾運(yùn)算符的優(yōu)先級(jí),從高到低依次是中布爾運(yùn)算符的優(yōu)先級(jí),從高到低依次是 not 、and、or 所以上面的表達(dá)式等于如下這個(gè)帶括號(hào)的版本:所以上面的表達(dá)式等于如下這個(gè)帶括號(hào)的版本: ( a or (not b) and c)54布爾操作符布爾操作符 使用使用and操作符改進(jìn)之前比較兩個(gè)點(diǎn)相同的例子操作符改進(jìn)之前比較兩個(gè)點(diǎn)相同的例子5556

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論