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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

5、9二分支決策二分支決策示例示例注意:冒號不能??;注意:冒號不能省; if if和和elseelse對齊,并且前面不能有空格。對齊,并且前面不能有空格。20多分支決策多分支決策 多分支決策是解決復雜問題的多分支決策是解決復雜問題的重要手段之一重要手段之一 一個三分支決策可以由兩個二一個三分支決策可以由兩個二分支結構嵌套實現分支結構嵌套實現 使用使用if-elseif-else描述多分支決策描述多分支決策時,實現更多分支需要更多嵌套,時,實現更多分支需要更多嵌套,影響程序的易讀性影響程序的易讀性 PythonPython使用使用if-elif-elseif-elif-else描述描述多分支決策,簡

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

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

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

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

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

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

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

13、九九乘法表” 原理原理:最外層的循環(huán)依次是將數值19存儲到變量i中,變量i每取一次值,內層循環(huán)就要依次將19中存儲在變量j中,最后展示當前的i,j,與i*j的結果。 whilewhile循環(huán)循環(huán) 語法:語法:while語句語句while語句中語句中是布爾表達式是布爾表達式 循環(huán)體是一條或多條語句循環(huán)體是一條或多條語句當條件為真時,循環(huán)體重復執(zhí)行當條件為真時,循環(huán)體重復執(zhí)行當條件為假時,循環(huán)終止當條件為假時,循環(huán)終止 在在while循環(huán)中,條件總是在循環(huán)頂部被判斷,即在循環(huán)循環(huán)中,條件總是在循環(huán)頂部被判斷,即在循環(huán)體執(zhí)行之前,這種結構又被稱為前測循環(huán)體執(zhí)行之前,這種結構又被稱為前測循環(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)。這時通常使用這時通常使用+c來終止一來終止一個程序個程序45for/whilefor/while中的中的elseelse、breakbreak用法用法 break 語句語句跳出最內層的跳出最內層的for/while循環(huán)循環(huán)46for/whilefor/while中的

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論