亚洲 欧洲 日韩 综合色天使,久久国产Av无码一区二区老太,人妻醉酒被下药迷昏带到诊所 ,亚州老熟女A片AV色欲小说

程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是__________(程序的3種基本控制結(jié)構(gòu)是)

前面已經(jīng)介紹過,程序本來不是個(gè)新鮮的名詞,做任何事情都需要按照一定的方法和步驟才能完成,這樣的方法和步驟就是程序。但要讓計(jì)算機(jī)按照既定的方法和步驟完成某項(xiàng)工作,就要用計(jì)算機(jī)可以識(shí)別的編程語言去編寫程序。

只要用三種控制結(jié)構(gòu)就可以描述清楚一個(gè)程序。這三種控制結(jié)構(gòu)分別是順序、選擇、循環(huán)。

7.1順序結(jié)構(gòu)

程序的流程如果是瀑布式的,即按照語句的先后順序依次執(zhí)行,就是順序結(jié)構(gòu)。以早晨去上班這件事為例,第一步起床穿衣;第二步洗漱;第三步吃早餐;第四步騎上小電摩去公司。四個(gè)步驟環(huán)環(huán)相扣,依次執(zhí)行,不可顛倒。

將早晨去上班這件事用流程圖描述如圖7-1:

程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是__________(程序的3種基本控制結(jié)構(gòu)是)

圖7-1

可以看出,這四個(gè)步驟是按照時(shí)間的先后順序執(zhí)行的。在程序中,順序結(jié)構(gòu)的代碼是按照代碼先后次序執(zhí)行的。早期的有些編程語言是要求給每行代碼編上行號(hào)的,它的執(zhí)行是按照行號(hào)順序執(zhí)行的。Python中程序代碼沒有行號(hào),寫在前面的代碼先執(zhí)行,寫在后面的代碼后執(zhí)行。

7.2選擇結(jié)構(gòu)

但是,早餐可以在家做,也可以到外面買,條件就是看時(shí)間充足不充足(譬如早上洗漱花費(fèi)的時(shí)間太多,太懶沒按時(shí)起床等等)。那么該流程圖就需要加上一個(gè)條件判斷(時(shí)間是否充足),相應(yīng)的就有兩個(gè)分支(家里做早餐,外面買早餐)。流程如圖7-2所示:

程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是__________(程序的3種基本控制結(jié)構(gòu)是)

圖7-2

圖7-2所示的流程圖中,“吃早餐”要么“在家做”,要么“外面吃”,只能選擇其中的一種情況,這就是選擇結(jié)構(gòu)。

在Python中,用if語句、if…else…語句和if…elif…else多分支語句來實(shí)現(xiàn)選擇結(jié)構(gòu),這三種分支語句也可以互相嵌套。

  1. if語句

格式:if 表達(dá)式:

語句塊

例:假設(shè)有30分鐘以上的空閑時(shí)間,就可以做早餐??梢赃@樣用程序描述:

time=int(input("請(qǐng)輸入空閑時(shí)間的值:"))

if time>=30:

print("可以在家做早餐")

運(yùn)行結(jié)果如下:

請(qǐng)輸入空閑時(shí)間的值:32

輸出結(jié)果為:可以在家做早餐

請(qǐng)輸入空閑時(shí)間的值:21

無輸出結(jié)果

從這個(gè)例子可以看出,如果條件time>=30成立,則輸出“可以在家做早餐”;當(dāng)條件time>=30不成立,則沒有輸出結(jié)果。這樣就有點(diǎn)尷尬了,沒有輸出結(jié)果,有時(shí)會(huì)被誤認(rèn)為程序沒有執(zhí)行。

為了解決這個(gè)

  1. if…else…語句

格式如下:

if 表達(dá)式:

語句塊1

else:

語句塊2

在if…else…語句中,無論條件表達(dá)式的結(jié)果如何,都會(huì)進(jìn)入下一個(gè)分支。

將上面的例子改造如下:

time=int(input("請(qǐng)輸入空閑時(shí)間的值:"))

if time>=30:

print("可以在家做早餐")

else:

print("需要在外面吃飯")

運(yùn)行結(jié)果如下:

請(qǐng)輸入空閑時(shí)間的值:32

輸出結(jié)果為:可以在家做早餐

請(qǐng)輸入空閑時(shí)間的值:23

輸出結(jié)果為:需要在外面吃飯

可以看出,if…else語句與if語句相比,既可以處理滿足條件的情況,又可以處理不滿足條件的情況。

  1. if…elif…else語句

格式如下:

if 表達(dá)式1:

語句塊1

elif 表達(dá)式2:

語句塊2

elif 表達(dá)式3:

語句塊3

……

else:

語句塊n

如果我們把上面的例子改成“空閑時(shí)間是否大于等于30分鐘?滿足則在家做飯,不滿足時(shí)又分兩種情況:空閑時(shí)間多于10分鐘,就去買早餐,否則就餓著算了”,程序代碼更改如下:

time=int(input("請(qǐng)輸入空閑時(shí)間的值:"))

if time>=30:

print("可以在家做早餐")

elif time>10:

print("需要在外面吃飯")

else:

print("餓著算了吧")

運(yùn)行結(jié)果如下:

請(qǐng)輸入空閑時(shí)間的值:33

輸出結(jié)果:可以在家做早餐

請(qǐng)輸入空閑時(shí)間的值:23

輸出結(jié)果:需要在外面吃飯

請(qǐng)輸入空閑時(shí)間的值:8

輸出結(jié)果:餓著算了吧

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

如果每周上5天班,那么每天早上的情況都是一樣的,只要描述玩星期一的活動(dòng)情況,再加上一句“從周一到周五,天天如此”就可以了。這種反復(fù)做同一件事的情況,就是循環(huán)。程序代碼中有一段代碼需要反復(fù)執(zhí)行,那么,可以將這段代碼看成一個(gè)整體,被稱為循環(huán)體,而將循環(huán)的次數(shù)或者終止條件稱為循環(huán)結(jié)構(gòu)。

將圖7-2中的部分程序作為循環(huán)體,再加上循環(huán)控制結(jié)構(gòu),就形成了可以描述星期一到星期五每一天早晨上班的活動(dòng)情況。見圖7-3。

Python中的循環(huán)結(jié)構(gòu)可以用while語句或for語句來實(shí)現(xiàn)。

1、while語句

在while循環(huán)中,起到重要作用的是條件表達(dá)式,如圖7-3中的n<=5。當(dāng)條件表達(dá)式的返回值為真時(shí),則執(zhí)行循環(huán)體中的語句,執(zhí)行完畢后,重新判斷條件表達(dá)式的返回值,直到表達(dá)式的返回值為假時(shí),退出循環(huán)。

對(duì)于圖7-3所描述的問題可以用while語句解決,代碼如下:

n=1

while n<=5:

time=int(input("請(qǐng)輸入空閑時(shí)間的值:"))

if time>=30:

print("可以在家做早餐")

else:

print("需要在外面吃飯")

n+=1

程序運(yùn)行結(jié)果如下:

請(qǐng)輸入空閑時(shí)間的值:21

輸出結(jié)果為:需要在外面吃飯

請(qǐng)輸入空閑時(shí)間的值:32

輸出結(jié)果為:可以在家做早餐

請(qǐng)輸入空閑時(shí)間的值:12

輸出結(jié)果為:需要在外面吃飯

請(qǐng)輸入空閑時(shí)間的值:21

輸出結(jié)果為:需要在外面吃飯

請(qǐng)輸入空閑時(shí)間的值:43

輸出結(jié)果為:可以在家做早餐

可以看出,在條件表達(dá)式n<=5中,變量n是控制循環(huán)體執(zhí)行次數(shù)的關(guān)鍵,變量n的初值為1,保證了第一次運(yùn)行程序時(shí)可以進(jìn)入循環(huán)體。如果程序要讓程序終止(即不再進(jìn)入循環(huán)體),必須使表達(dá)式n<=5不成立,即n>5。由于語句n+=1包含在循環(huán)體內(nèi),每執(zhí)行一次循環(huán)體,n的值才能增加1。要使n>5,就要執(zhí)行5次循環(huán)體。從運(yùn)行結(jié)果看,上述分析是完全正確的。

在用while語句編寫循環(huán)結(jié)構(gòu)的程序時(shí),從表面上看是不用考慮循環(huán)次數(shù)的,實(shí)際上條件表達(dá)式及循環(huán)控制變量就已經(jīng)隱含了循環(huán)次數(shù)。

2、for語句

for循環(huán)是一種可以很直觀的看出循環(huán)次數(shù)的控制結(jié)構(gòu)。語法格式如下:

for 迭代變量 in 對(duì)象:

循環(huán)體

其中,迭代變量用于保存讀取出的值;對(duì)象可以是任意有序的序列對(duì)象,如字符串、列表和元組等(列表和元組都是python中可以使用的數(shù)據(jù)類型,后面將會(huì)介紹)。

字符串“編程其實(shí)很簡單”其實(shí)是由7個(gè)字符構(gòu)成的序列,其中的每一個(gè)字符都可以通過命令取出。為了證明這個(gè)猜想,可以試著運(yùn)行一下如下程序:

string="編程其實(shí)很簡單"

print(string)

for ch in string:

print(ch,end=' ')

運(yùn)行結(jié)果如下:

編程其實(shí)很簡單

編 程 其 實(shí) 很 簡 單

其中,第一個(gè)print()語句輸出字符串string,第二個(gè)print()語句為輸出字符串string中的每一個(gè)字符(元素)。end=’ ’的含義是分隔符為一個(gè)空格,省略end表示用換行的方式進(jìn)行分隔。

程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是__________(程序的3種基本控制結(jié)構(gòu)是)

圖7-3

3、跳轉(zhuǎn)語句break和continue

break可以使循環(huán)提前結(jié)束,而continue僅僅提前結(jié)束本趟循環(huán),轉(zhuǎn)入下一趟。打個(gè)比方:把鬧鐘的電池卸掉,讓指針不再轉(zhuǎn)圈,就好比break;通過手動(dòng)方式,把指針調(diào)到0刻度,只是少轉(zhuǎn)了半圈,但接下來都正常,就好比continue。

我們把上面“吃早餐”的那個(gè)例子的條件修改一下:時(shí)間段改為從星期一到星期天,星期四出差,星期六、星期天休息。程序?qū)⑿薷臑槿缦麓a:

n=1

while n<=7:

if n==4:

print("星期"+str(n)+"出差")

n+=1 #第一個(gè)n+=1語句

continue

if n<6:

time=int(input("請(qǐng)輸入空閑時(shí)間的值:"))

if time>=30:

print("星期"+str(n)+"可以在家做早餐")

elif time>10:

print("星期"+str(n)+"需要在外面吃飯")

else:

print("星期"+str(n)+"餓著算了吧")

else:

print("星期"+str(n)+"休息")

break

n+=1 #第二個(gè)n+=1語句

運(yùn)行結(jié)果如下:

請(qǐng)輸入空閑時(shí)間的值:21

星期1需要在外面吃飯

請(qǐng)輸入空閑時(shí)間的值:12

星期2需要在外面吃飯

請(qǐng)輸入空閑時(shí)間的值:4

星期3餓著算了吧

星期4出差

請(qǐng)輸入空閑時(shí)間的值:32

星期5可以在家做早餐

星期6休息

從上面的運(yùn)行結(jié)果來看,當(dāng)變量n=4時(shí),輸出了“星期4出差”,也執(zhí)行了第一個(gè)n+=1語句,但未執(zhí)行第二個(gè)n+=1語句(如果兩個(gè)都執(zhí)行了,那么就不會(huì)出現(xiàn)星期五的情況)。這進(jìn)一步驗(yàn)證了continue只會(huì)提前結(jié)束一趟循環(huán),下一趟循環(huán)還會(huì)繼續(xù)。

只出現(xiàn)了“星期6休息”,沒有出現(xiàn)星期天的信息,可以看出,變量n的值未達(dá)到7,在變量n=6時(shí)循環(huán)就提前結(jié)束了。所以,break可以使循環(huán)全部終止。

本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 sumchina520@foxmail.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。
如若轉(zhuǎn)載,請(qǐng)注明出處:http://www.qjsdgw.cn/74895.html