Pyhton少兒編程(10)流程控制

一、分支結(jié)構(gòu)
分支結(jié)構(gòu)又稱“條件語(yǔ)句”或“判斷結(jié)構(gòu)”,條件語(yǔ)句可以個(gè)通過一個(gè)或多個(gè)條件進(jìn)行判斷,每條判斷語(yǔ)句都對(duì)應(yīng)這一個(gè)分支,根據(jù)分支數(shù)量,可以分為單分支結(jié)構(gòu)、雙分支結(jié)構(gòu)和多分支結(jié)構(gòu)。
1、單分支結(jié)構(gòu)。單分支結(jié)構(gòu)由一個(gè)?if?判斷語(yǔ)句構(gòu)成。如果條件成立,執(zhí)行if語(yǔ)句塊中的代碼;否則,跳過if語(yǔ)句塊,直接執(zhí)行下面的代碼。
(1)單分支流程圖如下:

(2)單分支語(yǔ)法結(jié)構(gòu):
if 后面加一個(gè)空格,接著寫條件表達(dá)式,表達(dá)式末尾加一個(gè)冒號(hào)(:),表示開啟新的代碼塊,回車換行,編寫if語(yǔ)句塊中的代碼。注意,每行代碼需要縮進(jìn)4個(gè)空格,表示層級(jí)關(guān)系。
3)單分支示例代碼:

2、雙分支結(jié)構(gòu)。
雙分支結(jié)構(gòu)由一個(gè)?if?判斷語(yǔ)句和一個(gè)?else?否則語(yǔ)句構(gòu)成。如果條件成立,執(zhí)行if語(yǔ)句塊中的代碼;否則,執(zhí)行else語(yǔ)句塊中的代碼。
(1)雙分支流程圖如下:

(2)雙分支語(yǔ)法結(jié)構(gòu):在單分支的基礎(chǔ)上,增加了一個(gè)else語(yǔ)句,else后面不加任何條件判斷,只要不滿足if條件判斷,統(tǒng)統(tǒng)執(zhí)行else代碼塊。
(3)雙分支代碼示例:

3、多分支結(jié)構(gòu)。多分支結(jié)構(gòu)由一個(gè)?if?判斷語(yǔ)句,一個(gè)或多個(gè)?elif?判斷語(yǔ)句,再加一個(gè)?else?否則語(yǔ)句構(gòu)成。哪個(gè)分支上的條件判斷成了,就執(zhí)行哪個(gè)分支上的代碼塊;如果所有的條件判斷分支都不成立,就執(zhí)行最后一個(gè)else否則分支代碼塊。
(1)多分支流程圖如下:

(2)多分支語(yǔ)法結(jié)構(gòu):
(3)多分支代碼示例:

4、分支結(jié)構(gòu)的嵌套。分支結(jié)構(gòu)的嵌套,也叫條件判斷的嵌套,是表達(dá)多分支結(jié)構(gòu)的另外一種方法。但是,相比于前面的多分支表達(dá),嵌套判斷的邏輯復(fù)雜程度更高,2~3層的判斷嵌套還好理解,但是,再多的層級(jí)嵌套,會(huì)讓程序變得很難理解,所以,實(shí)際使用的時(shí)候,判斷嵌套最多不要超過3層。通常在處理復(fù)雜判斷時(shí)侯,會(huì)使用分支嵌套。比如,判斷一個(gè)數(shù)是否能被6整除,也就是說,這個(gè)數(shù)必須要同時(shí)滿足兩個(gè)條件,一是被2整除,二是被3整除,這種情況就非常適合使用分支嵌套。分支嵌套的時(shí)候,一定要注意代碼的縮進(jìn)!

分支結(jié)構(gòu)模擬考題
第1題:(判斷題)
執(zhí)行以下代碼,輸入數(shù)字99,運(yùn)行結(jié)果是ok。( )
第2題:(單選題)
關(guān)于以下代碼,敘述正確的是( )。
A.????上述代碼的輸出結(jié)果為True
B.????上述代碼的輸出結(jié)果為False
C.????上述代碼存在語(yǔ)法錯(cuò)誤
D.????上述代碼沒有語(yǔ)法錯(cuò)誤,但沒有任何輸出
第3題:(單選題)
下面的代碼運(yùn)行后輸入23,其結(jié)果為( )。
A. ???情況一!
B. ???情況二!
C. ???情況三!
D. ???情況四!
第4題:(單選題)
以下代碼運(yùn)行的結(jié)果為()。
A.????誠(chéng)實(shí)守時(shí)
B.????誠(chéng)實(shí)憐憫
C.????感恩守時(shí)
D.????感恩憐憫
--> 參考答案往下翻?<--
二、循環(huán)結(jié)構(gòu)
從表現(xiàn)形式上看,Python中有兩種循環(huán):條件循環(huán)(while循環(huán))和遍歷循環(huán)(for循環(huán));從循環(huán)次數(shù)上來看,又可以分為有限循環(huán)和無限循環(huán)。
1、(while)條件循環(huán)。
當(dāng)滿足while循環(huán)條件時(shí),就會(huì)循環(huán)執(zhí)行一些代碼,被循環(huán)執(zhí)行的代碼塊,簡(jiǎn)稱“循環(huán)體”。
(1)while循環(huán)流程圖:

(2)while循環(huán)語(yǔ)法結(jié)構(gòu):
(3)while循環(huán)代碼示例:

2、(for)遍歷循環(huán)。
遍歷循環(huán)是對(duì)序列或者其它可迭代對(duì)象中的每個(gè)元素,都執(zhí)行相關(guān)操作的過程。也就是說,將可迭代對(duì)象從迭代器中一個(gè)一個(gè)取出,然后執(zhí)行相關(guān)操作。
(1)for循環(huán)流程圖:

(2)for循環(huán)語(yǔ)法結(jié)構(gòu):
(3)for循環(huán)代碼示例:

3、break語(yǔ)句,跳出循環(huán)。
在循環(huán)的過程中,如果不想再繼續(xù)執(zhí)行循環(huán)操作,可以跳出循環(huán),繼續(xù)執(zhí)行后面的代碼,使用break語(yǔ)句就可以跳出循環(huán)。
在循環(huán)體內(nèi),只要遇到break關(guān)鍵字,就會(huì)立刻跳出循環(huán)。
通常來說,當(dāng)滿足一定條件的時(shí)候,才會(huì)跳出循環(huán),所以,breake語(yǔ)句一般要配合if判斷聯(lián)合使用。

4、continue語(yǔ)句,停止當(dāng)前循環(huán),開啟下次循環(huán)。
循操作可能會(huì)重復(fù)很多次執(zhí)行循環(huán)體,如果想跳出循環(huán),不再執(zhí)行循環(huán)體,使用break語(yǔ)句;如果只是想停止某一次或某幾次循環(huán),其它循環(huán)操作不受影響,可以使用continue語(yǔ)句。
在循環(huán)體內(nèi),只要遇到continue關(guān)鍵字,就會(huì)立刻停止當(dāng)前循環(huán),然后開始下一輪循環(huán)。
和break一樣,continue通常也要和if條件判斷配合使用,當(dāng)滿足一定條件之后,才會(huì)停止當(dāng)前循環(huán),然后進(jìn)入下一次循環(huán)。

5、range()方法。
range()方法返回range對(duì)象,它既不是一個(gè)列表,也不是一種數(shù)據(jù)類型,但是可迭代。它可以很方便的生成一個(gè)可迭代數(shù)列。
操作方法:range(stop),會(huì)生成一個(gè)從0到stop之間的一個(gè)數(shù)列;range(start, stop[, step]),會(huì)生一個(gè)從start到stop之間的一個(gè)數(shù)列(取值范圍:前包后不包),如果指定了step(步長(zhǎng)),會(huì)每隔step生成一個(gè)數(shù)字,如果沒右step參數(shù),默認(rèn)step為1。

循環(huán)結(jié)構(gòu)模擬考題
第1題:(單選題)
執(zhí)行下面程序,結(jié)果是( )。
A.????1??3? 5??7
B.????2??4? 6? 8??10
C.????2? 4? 6? 8
D.????1? 3? 5? 7??9
第2題:(單選題)
下列關(guān)于分支和循環(huán)結(jié)構(gòu)的描述,錯(cuò)誤的是( )。
A.????while循環(huán)只能用來實(shí)現(xiàn)無限循環(huán)
B.????所有的for循環(huán)都可以用while循環(huán)改寫
C.????保留字break可以終止一個(gè)循環(huán)
D.????continue可以停止后續(xù)代碼的執(zhí)行,從循環(huán)的開頭重新執(zhí)行
第3題:(單選題)
下面程序的運(yùn)行結(jié)果是( )。
A.????[34, 48, 10]????[17, 7, 5]
B.????[10, 48, 34]????[5, 7, 17]
C.????[10, 48, 34]????[17, 7, 5]
D.????[34, 48, 10]????[5, 7, 17]
第4題:(單選題)
以下程序的運(yùn)行結(jié)果是( )。
A.????蘭溪????金華????武義
B.????武義????遵義????義烏
C.????武義????義烏????遵義
D.????義烏????遵義????武義
第5題:(單選題)
以下代碼繪制的圖形是( )。
A.????七邊形
B.????六邊形
C.????五邊形
D.????五角星
第6題:(單選題)
運(yùn)行以下代碼,輸出結(jié)果是( )。
A.????7
B.?? ?9
C.????8
D.????6
-->參考答案往下翻<--
<完>

-->參考答案<--
分支結(jié)構(gòu)1~4:? ACD ???
循環(huán)結(jié)構(gòu)1~6:BAB BBA