語(yǔ)言基礎(chǔ)分支語(yǔ)句循環(huán)語(yǔ)句_第1頁(yè)
語(yǔ)言基礎(chǔ)分支語(yǔ)句循環(huán)語(yǔ)句_第2頁(yè)
語(yǔ)言基礎(chǔ)分支語(yǔ)句循環(huán)語(yǔ)句_第3頁(yè)
語(yǔ)言基礎(chǔ)分支語(yǔ)句循環(huán)語(yǔ)句_第4頁(yè)
語(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)介

關(guān)于語(yǔ)言基礎(chǔ)分支語(yǔ)句循環(huán)語(yǔ)句2024/3/292目錄

程序基本結(jié)構(gòu)分支結(jié)構(gòu)

循環(huán)結(jié)構(gòu)

布爾表達(dá)式

練習(xí)總結(jié)第2頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/293程序設(shè)計(jì)基本結(jié)構(gòu)任何算法(程序)都可以由順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)這三種基本結(jié)構(gòu)組合來實(shí)現(xiàn)。第3頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/294順序結(jié)構(gòu)順序結(jié)構(gòu)中,按語(yǔ)句的自然順序一次執(zhí)行。用順序結(jié)構(gòu)描述將華氏溫度F轉(zhuǎn)換成攝氏溫度C的流程。算法:C=5/9*(F-32)第4頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/295選擇結(jié)構(gòu)第5頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/296循環(huán)結(jié)構(gòu)第6頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/297流程圖-表示算法

例:求給定半徑R的圓面積和圓周長(zhǎng)這是一個(gè)數(shù)學(xué)問題。算法:第7頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/298流程圖-表示算法

例:求給定半徑R的絕對(duì)值。算法:這是分支程序結(jié)構(gòu)第8頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/299流程圖-表示算法例:給定K值,求1到K,連加和。Sum里保存:1+2+3+…+K的連加和。重復(fù)進(jìn)行某種運(yùn)算,運(yùn)算對(duì)象有規(guī)律地變化。采用循環(huán)結(jié)構(gòu)。第9頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2910目錄

程序基本結(jié)構(gòu)分支結(jié)構(gòu)

循環(huán)結(jié)構(gòu)

布爾表達(dá)式總結(jié)第10頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2911生活中的判斷第11頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2912PM2.5指數(shù)分級(jí)例子程序功能的IPO模式描述為:輸入:接受外部輸入PM2.5值處理:空氣質(zhì)量分級(jí)算法輸出:打印空氣質(zhì)量提醒第12頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2913PM2.5指數(shù)分級(jí)例子-流程圖第13頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2914

pm25.py第14頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2915if語(yǔ)句格式語(yǔ)句格式如下

其中<condition>是條件表達(dá)式,<body>是一個(gè)或多個(gè)語(yǔ)句序列先判斷<condition>條件:True,則執(zhí)行<body>,再轉(zhuǎn)向下一條語(yǔ)句False,則直接跳過<body>,轉(zhuǎn)向下一條語(yǔ)句第15頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2916說明:比較運(yùn)算符第16頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2917說明:邏輯運(yùn)算符第17頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2918二分支決策二分支語(yǔ)法結(jié)構(gòu)如下:

Python解釋器首先評(píng)估<condition>

如果<condition>是真的,if下面的語(yǔ)句被執(zhí)行;

如果<condition>是假的,else下面的語(yǔ)句被執(zhí)行。第18頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2919二分支決策—示例注意:冒號(hào)不能??;if和else對(duì)齊,并且前面不能有空格。第19頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2920多分支決策多分支決策是解決復(fù)雜問題的重要手段之一

一個(gè)三分支決策可以由兩個(gè)二分支結(jié)構(gòu)嵌套實(shí)現(xiàn)

使用if-else描述多分支決策時(shí),實(shí)現(xiàn)更多分支需要更多嵌套,影響程序的易讀性

Python使用if-elif-else描述多分支決策,簡(jiǎn)化分支結(jié)構(gòu)的嵌套問題第20頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2921多分支決策使用if-elif-else描述多分支決策:

Python輪流評(píng)估每個(gè)條件,來尋找條件為True的分支,并執(zhí)行該分支下的語(yǔ)句;如果沒有任何條件成立,else下面的語(yǔ)句被執(zhí)行,else子句是可選的。第21頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2922PM2.5指數(shù)分級(jí)例子(版本升級(jí))使用if-elif-else結(jié)構(gòu)改進(jìn)之前的程序:第22頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2923PM2.5指數(shù)分級(jí)例子(采用小于條件)第23頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2924如果按照分?jǐn)?shù)劃定結(jié)果:

90分或以上:excellent

80分或以上:good

60分或以上:passed

60分以下:failed請(qǐng)編寫程序根據(jù)分?jǐn)?shù)打印結(jié)果。鞏固練習(xí)第24頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2925猜拳游戲第25頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2926試一試編寫一個(gè)python程序,輸入兩個(gè)數(shù),比較它們的大小并輸出其中較大者。第26頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2927目錄

程序基本結(jié)構(gòu)分支結(jié)構(gòu)

循環(huán)結(jié)構(gòu)

布爾表達(dá)式總結(jié)第27頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2928生活中的循環(huán)第28頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2929軟件開發(fā)中循環(huán)的使用場(chǎng)景跟媳婦承認(rèn)錯(cuò)誤,說一萬(wàn)遍“媳婦兒,我錯(cuò)了!”

print“媳婦兒,我錯(cuò)了!” print“媳婦兒,我錯(cuò)了!” print“媳婦兒,我錯(cuò)了!”

…(還有997遍)…使用循環(huán),一句話搞定 i=0 whilei<10000: print“媳婦兒,我錯(cuò)了!” i+=1第29頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2930一般情況下,需要多次重復(fù)執(zhí)行的代碼,都可以用循環(huán)的方式來完成循環(huán)不是必須要使用的,但是為了提高代碼的重復(fù)使用率,所以有經(jīng)驗(yàn)的開發(fā)者都會(huì)采用循環(huán)循環(huán)結(jié)構(gòu)第30頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2931循環(huán)結(jié)構(gòu)回顧第31頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2932for循環(huán)for循環(huán)作為編程語(yǔ)言中最強(qiáng)力的特征之一Python可以使用for語(yǔ)句循環(huán)遍歷整個(gè)序列的值for循環(huán)所做的概括為一句話:

于…其中的每一個(gè)元素,做…事情第32頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2933for循環(huán)在for循環(huán)中,循環(huán)變量var遍歷了隊(duì)列中的每一個(gè)值,循環(huán)的語(yǔ)句體為每個(gè)值執(zhí)行一次。

第33頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2934for循環(huán)第34頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2935for循環(huán)

為了更深入了解for循環(huán),試著思考下面這個(gè)問題,如何打印出這樣的結(jié)果? 1+1=2 2+1=3 … 10+1=11

內(nèi)置函數(shù)-------range()

第35頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2936第36頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2937for循環(huán)-求平均數(shù)

平均數(shù)計(jì)算程序的IPO如下:輸入:待輸入數(shù)字個(gè)數(shù),數(shù)字處理:平均數(shù)算法輸出:平均數(shù)

通用設(shè)計(jì)方案:輸入數(shù)字的個(gè)數(shù)n將sum初始化為0循環(huán)n次:

輸入數(shù)字x

將x加入sum中

將sum/n作為平均數(shù)輸出出來第37頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2938for循環(huán)-代碼第38頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2939for循環(huán)-執(zhí)行

以下是程序的執(zhí)行結(jié)果:第39頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2940for循環(huán)-缺點(diǎn)程序開始時(shí)必須提供輸入數(shù)字總數(shù)

大規(guī)模數(shù)字求平均值需要用戶首先確定個(gè)數(shù)for循環(huán)是需要提供固定循環(huán)次數(shù)的循環(huán)方式Python提供了另一種循環(huán)模式即無(wú)限循環(huán),不需要提前知道循環(huán)次數(shù),即我們提到的當(dāng)型循環(huán)也叫條件循環(huán)第40頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2941for與if相結(jié)合

如何實(shí)現(xiàn)這樣一個(gè)程序:歌曲列表中有三首歌“HolyDiver,Thunderstruck,RebelRebel”,當(dāng)播放到每首時(shí),分別顯示歌手名字“Dio,AC/CD,DividBowie”?

第41頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2942嵌套循環(huán)

編程中還有一種常見的循環(huán),被稱之為嵌套循環(huán),其實(shí)這種循環(huán)并不復(fù)雜還非常實(shí)用。

例如:“九九乘法表”

第42頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2943嵌套循環(huán)例:“九九乘法表”

原理:最外層的循環(huán)依次是將數(shù)值1~9存儲(chǔ)到變量i中,變量i每取一次值,內(nèi)層循環(huán)就要依次將1~9中存儲(chǔ)在變量j中,最后展示當(dāng)前的i,j,與i*j的結(jié)果。

第43頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2944while循環(huán)語(yǔ)法:while語(yǔ)句while語(yǔ)句中<condition>是布爾表達(dá)式

<body>循環(huán)體是一條或多條語(yǔ)句當(dāng)條件為真時(shí),循環(huán)體重復(fù)執(zhí)行當(dāng)條件為假時(shí),循環(huán)終止

在while循環(huán)中,條件總是在循環(huán)頂部被判斷,即在循環(huán)體執(zhí)行之前,這種結(jié)構(gòu)又被稱為前測(cè)循環(huán)只要…條件成立,就一直做,,,第44頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2945while循環(huán)下面是使用while循環(huán)完成從0到10的求和打印平均值的例子:如果循環(huán)體忘記累加i,條件判斷一直為真,循環(huán)體將一直執(zhí)行,這就是所謂的死循環(huán)。這時(shí)通常使用<Ctrl>+c來終止一個(gè)程序第45頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2946for/while中的else、break用法

break語(yǔ)句—跳出最內(nèi)層的for/while循環(huán)第46頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2947for/while中的continue用法

continue語(yǔ)句,其作用為結(jié)束本次循環(huán)、即跳出循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,對(duì)于while循環(huán),繼續(xù)求解循環(huán)條件。而對(duì)于for循環(huán)程序流程接著遍歷循環(huán)列表。

continue和break語(yǔ)句的區(qū)別是:

continue語(yǔ)句只結(jié)束本次循環(huán),而不終止整個(gè)循環(huán)的執(zhí)行。break語(yǔ)句結(jié)束整個(gè)循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立第47頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2948for/while中的else用法<for…else:…><while…else:…>語(yǔ)句與循環(huán)的搭配使用,else:后的表達(dá)式在for循環(huán)列表遍歷完畢后或while條件語(yǔ)句不滿足的情況下執(zhí)行,例如:第48頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2949目錄

程序基本結(jié)構(gòu)分支結(jié)構(gòu)

循環(huán)結(jié)構(gòu)

布爾表達(dá)式總結(jié)第49頁(yè),共62頁(yè),2024年2月25日,星期天50布爾表達(dá)式條件語(yǔ)句和循環(huán)語(yǔ)句都是用布爾表達(dá)式作為條件

布爾值為真或假,以False和True表示前面經(jīng)常使用布爾表達(dá)式比較兩個(gè)值,如:whilex>=0第50頁(yè),共62頁(yè),2024年2月25日,星期天51布爾操作符的引入簡(jiǎn)單條件在復(fù)雜決策情況下存在一定缺陷

例如,確定兩個(gè)點(diǎn)是否在同一位置,即是否有相同的x坐標(biāo)和y坐標(biāo),下面是處理代碼片段:第51頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2952布爾操作符布爾操作符:and,or和not

布爾運(yùn)算符and和or用于組合兩個(gè)布爾表達(dá)式,并產(chǎn)生一個(gè)布爾結(jié)果<expr>and<expr><expr>or<expr>not運(yùn)算符是一個(gè)一元運(yùn)算符,用來計(jì)算一個(gè)布爾表達(dá)式的反not<expr>第52頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2953布爾操作結(jié)果—真值表第53頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2954布爾操作符使用布爾運(yùn)算符,可以建立任意復(fù)雜的布爾表達(dá)式

例如:a

ornotband

c

Python中布爾運(yùn)算符的優(yōu)先級(jí),從高到低依次是not、and、or

所以上面的表達(dá)式等于如下這個(gè)帶括號(hào)的版本:

a

or((notb)

and

c))第54頁(yè),共62頁(yè),2024年2月25日,星期天2024/3/2955布爾操作符使用and操作符改進(jìn)之前比較兩個(gè)點(diǎn)相同的例子

第55頁(yè),共62頁(yè),2024年2月25日,星期天56下面哪些是港臺(tái)女明

溫馨提示

  • 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)論