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

下載本文檔

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

文檔簡介

1、Python 基礎(chǔ)分支與循環(huán),09:32,1,目 錄,程序基本結(jié)構(gòu) 分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 布爾表達(dá)式 練習(xí) 總結(jié),09:32,2,09:32,3,程序設(shè)計基本結(jié)構(gòu),任何算法(程序)都可以由順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)這三種基本結(jié)構(gòu)組合來實現(xiàn)。,09:32,4,順序結(jié)構(gòu),順序結(jié)構(gòu)中,按語句的自然順序一次執(zhí)行。 用順序結(jié)構(gòu)描述將華氏溫度F轉(zhuǎn)換成攝氏 溫度C的流程。 算法: C = 5/9*(F-32),09:32,5,選擇結(jié)構(gòu),09:32,6,循環(huán)結(jié)構(gòu),09:32,7,流程圖-表示算法,例:求給定半徑R的圓面積和圓周長 這是一個數(shù)學(xué)問題。 算法:,09:32,8,流程圖-表示算法,例:求給定半徑R的

2、絕對值。 算法: 這是分支程序結(jié)構(gòu),09:32,9,流程圖-表示算法,例:給定K值,求1到K,連加和。 Sum里保存: 1+2+3+K的連加和。 重復(fù)進(jìn)行某種運算,運算對象有規(guī)律地變化。采用循環(huán)結(jié)構(gòu)。,目 錄,程序基本結(jié)構(gòu) 分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 布爾表達(dá)式 總結(jié),09:32,10,09:32,11,生活中的判斷,09:32,12,PM2.5指數(shù)分級例子,程序功能的IPO模式描述為: 輸入:接受外部輸入PM2.5值 處理:空氣質(zhì)量分級算法 輸出:打印空氣質(zhì)量提醒,09:32,13,PM2.5指數(shù)分級例子-流程圖,09:32,14,pm25.py,09:32,15,if語句格式,語句格式如下 其中

3、是條件表達(dá)式, 是一個或多個語句序列 先判斷 條件: True,則執(zhí)行,再轉(zhuǎn)向下一條語句 False,則直接跳過,轉(zhuǎn)向下一條語句,09:32,16,說明:比較運算符,09:32,17,說明:邏輯運算符,09:32,18,二分支決策,二分支語法結(jié)構(gòu)如下: Python解釋器首先評估 如果是真的,if下面的語句被執(zhí)行; 如果是假的,else下面的語句被執(zhí)行。,09:32,19,二分支決策示例,注意:冒號不能省; if和else對齊,并且前面不能有空格。,09:32,20,多分支決策,多分支決策是解決復(fù)雜問題的重要手段之一 一個三分支決策可以由兩個二分支結(jié)構(gòu)嵌套實現(xiàn) 使用if-else描述多分支決策

4、時,實現(xiàn)更多分支需要更多嵌套,影響程序的易讀性 Python使用if-elif-else描述多分支決策,簡化分支結(jié)構(gòu)的嵌套問題,09:32,21,多分支決策,使用if-elif-else描述多分支決策: Python輪流評估每個條件,來尋找條件為True的分支,并執(zhí)行該分支下的語句;如果沒有任何條件成立,else下面的語句被執(zhí)行,else子句是可選的。,09:32,22,PM2.5指數(shù)分級例子(版本升級),使用if-elif-else結(jié)構(gòu)改進(jìn)之前的程序:,09:32,23,PM2.5指數(shù)分級例子(采用小于條件),09:32,24,如果按照分?jǐn)?shù)劃定結(jié)果: 90分或以上:excellent 80分

5、或以上:good 60分或以上:passed 60分以下:failed 請編寫程序根據(jù)分?jǐn)?shù)打印結(jié)果。,鞏固練習(xí),09:32,25,猜拳游戲,09:32,26,試一試,編寫一個python程序,輸入兩個數(shù),比較它們的大小并輸出其中較大者。,目 錄,程序基本結(jié)構(gòu) 分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 布爾表達(dá)式 總結(jié),09:32,27,09:32,28,生活中的循環(huán),09:32,29,軟件開發(fā)中循環(huán)的使用場景,跟媳婦承認(rèn)錯誤,說一萬遍“媳婦兒,我錯了!” print “媳婦兒,我錯了!” print “媳婦兒,我錯了!” print “媳婦兒,我錯了!” (還有997遍) 使用循環(huán),一句話搞定 i = 0 whil

6、e i 10000: print “媳婦兒,我錯了!” i += 1,09:32,30,一般情況下,需要多次重復(fù)執(zhí)行的代碼,都可以用循環(huán)的方式來完成 循環(huán)不是必須要使用的,但是為了提高代碼的重復(fù)使用率,所以有經(jīng)驗的開發(fā)者都會采用循環(huán),循環(huán)結(jié)構(gòu),09:32,31,循環(huán)結(jié)構(gòu)回顧,for循環(huán),for 循環(huán)作為編程語言中最強(qiáng)力的特征之一 Python可以使用for語句循環(huán)遍歷整個序列的值 for循環(huán)所做的概括為一句話: 于 其中的每一個元素,做事情,09:32,32,for循環(huán),在for循環(huán)中,循環(huán)變量var遍歷了隊列中的每一個值,循環(huán)的語句體為每個值執(zhí)行一次。,09:32,33,for循環(huán),09:3

7、2,34,for循環(huán),為了更深入了解for循環(huán),試著思考下面這個問題,如何打印出這樣的結(jié)果? 1 + 1 = 2 2 + 1 = 3 10 + 1 = 11 內(nèi)置函數(shù)-range(),09:32,35,09:32,36,for循環(huán)-求平均數(shù),平均數(shù)計算程序的IPO如下: 輸入:待輸入數(shù)字個數(shù),數(shù)字 處理:平均數(shù)算法 輸出:平均數(shù) 通用設(shè)計方案: 輸入數(shù)字的個數(shù)n 將sum初始化為0 循環(huán)n次: 輸入數(shù)字x 將x加入sum中 將sum/n作為平均數(shù)輸出出來,09:32,37,for循環(huán)-代碼,09:32,38,for循環(huán)-執(zhí)行,以下是程序的執(zhí)行結(jié)果:,09:32,39,for循環(huán)-缺點,程序開始

8、時必須提供輸入數(shù)字總數(shù) 大規(guī)模數(shù)字求平均值需要用戶首先確定個數(shù) for循環(huán)是需要提供固定循環(huán)次數(shù)的循環(huán)方式 Python提供了另一種循環(huán)模式即無限循環(huán),不需要提前知道循環(huán)次數(shù),即我們提到的當(dāng)型循環(huán)也叫條件循環(huán),09:32,40,09:32,41,for與if相結(jié)合,如何實現(xiàn)這樣一個程序:歌曲列表中有三首歌“Holy Diver,Thunderstruck,Rebel Rebel”,當(dāng)播放到每首時,分別顯示歌手名字“Dio,AC/CD,Divid Bowie”?,09:32,42,嵌套循環(huán),編程中還有一種常見的循環(huán),被稱之為嵌套循環(huán),其實這種循環(huán)并不復(fù)雜還非常實用。 例如:“九九乘法表”,09:

9、32,43,嵌套循環(huán),例:“九九乘法表” 原理:最外層的循環(huán)依次是將數(shù)值19存儲到變量i中,變量i每取一次值,內(nèi)層循環(huán)就要依次將19中存儲在變量j中,最后展示當(dāng)前的i,j,與i*j的結(jié)果。,while循環(huán),語法:while語句 while語句中是布爾表達(dá)式 循環(huán)體是一條或多條語句 當(dāng)條件為真時,循環(huán)體重復(fù)執(zhí)行 當(dāng)條件為假時,循環(huán)終止 在while循環(huán)中,條件總是在循環(huán)頂部被判斷,即在循環(huán)體執(zhí)行之前,這種結(jié)構(gòu)又被稱為前測循環(huán),09:32,44,只要條件成立,就一直做,while循環(huán),下面是使用while循環(huán)完成從0到10的求和打印平均值的例子: 如果循環(huán)體忘記累加i,條件判斷一直為真,循環(huán)體將一

10、直執(zhí)行,這就是所謂的死循環(huán)。 這時通常使用+c來終止一個程序,09:32,45,for/while中的else、break用法,break 語句跳出最內(nèi)層的for/while循環(huán),09:32,46,for/while中的continue用法,continue 語句,其作用為結(jié)束本次循環(huán)、即跳出循環(huán)體中下面尚未執(zhí)行的語句,對于while循環(huán),繼續(xù)求解循環(huán)條件。而對于for循環(huán)程序流程接著遍歷循環(huán)列表。 continue和break語句的區(qū)別是: continue語句只結(jié)束本次循環(huán),而不終止整個循環(huán)的執(zhí)行。 break 語句結(jié)束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立,09:32,47,for

11、/while中的else用法,語句與循環(huán)的搭配使用,else:后的表達(dá)式在for循環(huán)列表遍歷完畢后或while條件語句不滿足的情況下執(zhí)行,例如:,09:32,48,目 錄,程序基本結(jié)構(gòu) 分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 布爾表達(dá)式 總結(jié),09:32,49,布爾表達(dá)式,條件語句和循環(huán)語句都是用布爾表達(dá)式作為條件 布爾值為真或假,以False和True表示 前面經(jīng)常使用布爾表達(dá)式比較兩個值, 如:while x=0,50,布爾操作符的引入,簡單條件在復(fù)雜決策情況下存在一定缺陷 例如,確定兩個點是否在同一位置,即是否有相同的x坐標(biāo)和y坐標(biāo),下面是處理代碼片段:,51,布爾操作符,布爾操作符:and,or和not

12、布爾運算符and和or用于組合兩個布爾表達(dá)式,并產(chǎn)生一個布爾結(jié)果 and or not 運算符是一個一元運算符,用來計算一個布爾表達(dá)式的反 not ,09:32,52,布爾操作結(jié)果真值表,09:32,53,布爾操作符,使用布爾運算符,可以建立任意復(fù)雜的布爾表達(dá)式 例如: a or not b and c Python中布爾運算符的優(yōu)先級,從高到低依次是 not 、and、or 所以上面的表達(dá)式等于如下這個帶括號的版本: ( a or (not b) and c),09:32,54,布爾操作符,使用and操作符改進(jìn)之前比較兩個點相同的例子,09:32,55,56,下面哪些是港臺女明星?,57,判斷閏年,思考題,58,59,練習(xí)題,編程,解決猴子吃桃問題。 猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個。第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想吃時,只剩下一個桃子了。求第一天共摘多少個桃子。(迭代法),本章小節(jié),程序控制結(jié)構(gòu)-流程圖 分支語句-ifelif.else 循環(huán)語句: for while

溫馨提示

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

評論

0/150

提交評論