- Python+Tableau數(shù)據(jù)可視化之美
- 王紅明 張鴻斌編著
- 4773字
- 2021-11-12 11:33:06
2.6 流程控制語(yǔ)句
Python的流程控制語(yǔ)句分為條件語(yǔ)句和循環(huán)語(yǔ)句。條件語(yǔ)句是指if語(yǔ)句,循環(huán)語(yǔ)句是指for循環(huán)語(yǔ)句和while循環(huán)語(yǔ)句。本節(jié)將分別講解這幾種控制語(yǔ)句的使用方法。
2.6.1 if條件語(yǔ)句

1.簡(jiǎn)單的if語(yǔ)句
if語(yǔ)句允許僅當(dāng)某些條件成立時(shí)才運(yùn)行某個(gè)區(qū)塊的語(yǔ)句(即運(yùn)行if語(yǔ)句中縮進(jìn)部分的語(yǔ)句),否則,這個(gè)區(qū)塊中的語(yǔ)句會(huì)被忽略,然后執(zhí)行區(qū)塊后的語(yǔ)句。
Python在執(zhí)行if語(yǔ)句時(shí),會(huì)去檢測(cè)if語(yǔ)句中的條件是真還是假。如果條件為真,則執(zhí)行冒號(hào)下面縮進(jìn)部分的語(yǔ)句;如果條件為假,則忽略縮進(jìn)部分的語(yǔ)句,執(zhí)行下一行未縮進(jìn)的語(yǔ)句。
案例6:判斷是否能坐過(guò)山車
如下所示為用于判斷是否能坐過(guò)山車的簡(jiǎn)單if語(yǔ)句。

上述語(yǔ)句第一條語(yǔ)句的含義是:新建一個(gè)變量“age”,然后在屏幕上打印“請(qǐng)輸入您的年齡:”等待用戶輸入,當(dāng)用戶輸入后,將用戶輸入的內(nèi)容轉(zhuǎn)換為整型,賦給變量“age”。語(yǔ)句中“age”為新定義的變量;int()函數(shù)用來(lái)將字符串或數(shù)字定義為整數(shù);input()為輸入函數(shù),將用戶輸入的內(nèi)容賦給變量“age”。
第二和第三條語(yǔ)句為if語(yǔ)句。它包括if、冒號(hào)(:)及下面的縮進(jìn)部分的語(yǔ)句。其中if與冒號(hào)之間的部分為條件(即age>=16為條件)。程序執(zhí)行時(shí),Python會(huì)判斷條件為真還是假;如果條件為真(即條件成立),則接著執(zhí)行下面縮進(jìn)部分的語(yǔ)句;如果條件為假(即不成立),則忽略縮進(jìn)部分的語(yǔ)句。
用鍵盤輸入18時(shí),上述代碼運(yùn)行結(jié)果如下。

上述if語(yǔ)句是如何執(zhí)行的呢?
1)首先在屏幕上打印“請(qǐng)輸入您的年齡:”,然后等待。
2)當(dāng)用戶輸入“18”后,將“18”轉(zhuǎn)換為整型,然后賦給變量“age”,這時(shí)變量的值為18。
3)接著執(zhí)行if語(yǔ)句,先檢測(cè)“age>=16”是真是假。由于18>16,因此條件為真。Python開始執(zhí)行下一行縮進(jìn)部分的語(yǔ)句,打印輸出“您可以坐過(guò)山車”,結(jié)束程序。
如果用戶輸入的是“15”,由于條件語(yǔ)句的條件不成立,因此直接忽略if語(yǔ)句中縮進(jìn)部分的語(yǔ)句,執(zhí)行下面未縮進(jìn)部分的語(yǔ)句。
2.if-else語(yǔ)句
有時(shí)需要讓程序這樣執(zhí)行:如果一個(gè)條件為真,做一件事;如果條件為假,做另一件事情。對(duì)于這樣的情況,可以使用if-else語(yǔ)句。if-else語(yǔ)句與前面講的if語(yǔ)句類似,但其中的else語(yǔ)句能夠指定條件為假時(shí),要執(zhí)行的語(yǔ)句。即如果if語(yǔ)句條件判斷是真,就執(zhí)行下一行縮進(jìn)部分的語(yǔ)句,同時(shí)忽略后面的else部分語(yǔ)句;如果if語(yǔ)句條件判斷是假,則忽略下一行縮進(jìn)部分的語(yǔ)句,去執(zhí)行else語(yǔ)句及else下一行縮進(jìn)部分的語(yǔ)句。
案例7:判斷是否能坐過(guò)山車(改進(jìn)版)
如下所示為用if-else語(yǔ)句判斷是否能坐過(guò)山車。

上述代碼中第01行代碼的作用是新建一個(gè)變量“age”,并將用戶輸入的值賦給變量“age”。
第02~05行代碼的作用是創(chuàng)建if-else語(yǔ)句。程序執(zhí)行時(shí),Python會(huì)判斷if語(yǔ)句中的條件(即age>=16)為真還是假;如果條件為真(即條件成立),則接著執(zhí)行下一行縮進(jìn)部分的語(yǔ)句,并忽略else語(yǔ)句及else下面的縮進(jìn)部分語(yǔ)句;如果條件為假(即不成立),則忽略下一行縮進(jìn)部分的語(yǔ)句,執(zhí)行else語(yǔ)句及else下一行縮進(jìn)部分的語(yǔ)句。
用鍵盤輸入“15”時(shí),上述代碼運(yùn)行結(jié)果如下。

用鍵盤輸入“19”時(shí),上述代碼運(yùn)行結(jié)果如下。

上述if-else程序是如何執(zhí)行的呢?
1)首先在屏幕上打印“請(qǐng)輸入您的年齡:”,然后等待。
2)當(dāng)用戶輸入“15”后,將“15”轉(zhuǎn)換為整型,然后賦給變量“age”,這時(shí)變量的值為15。
3)接著執(zhí)行if語(yǔ)句,先檢測(cè)“age>=16”是真是假。由于15<16,因此條件為假。Python忽略下一行縮進(jìn)部分的語(yǔ)句,然后執(zhí)行else語(yǔ)句。
4)接著執(zhí)行else語(yǔ)句下一行縮進(jìn)部分的語(yǔ)句,打印輸出“您太小了,還不能坐過(guò)山車”,結(jié)束程序。
5)再次運(yùn)行程序,在屏幕上打印“請(qǐng)輸入您的年齡:”,然后等待。
6)當(dāng)用戶輸入“19”后,將“19”轉(zhuǎn)換為整型,然后賦給變量“age”,這時(shí)變量的值為19。
7)接著執(zhí)行if語(yǔ)句,先檢測(cè)“age>=16”是真是假。由于19>16,因此條件為真。Python開始執(zhí)行下一行縮進(jìn)部分的語(yǔ)句,打印輸出“您可以坐過(guò)山車”。
8)忽略else語(yǔ)句及else下面縮進(jìn)部分的語(yǔ)句,結(jié)束程序。
3.if-elif-else語(yǔ)句
在編寫程序時(shí),如果需要檢查超過(guò)兩個(gè)條件的情況,可以使用if-elif-else語(yǔ)句。在使用if-elif-else語(yǔ)句時(shí),會(huì)先判斷if語(yǔ)句中條件的真假;如果條件為真就執(zhí)行if語(yǔ)句下一行縮進(jìn)部分的語(yǔ)句;如果條件為假,則忽略if語(yǔ)句下一行縮進(jìn)部分的語(yǔ)句,去執(zhí)行elif語(yǔ)句。接著會(huì)判斷elif語(yǔ)句中的條件真假,如果條件為真,就執(zhí)行elif語(yǔ)句下一行縮進(jìn)部分的語(yǔ)句;如果條件為假,則忽略elif語(yǔ)句下一行縮進(jìn)部分的語(yǔ)句,去執(zhí)行else語(yǔ)句及下一行縮進(jìn)部分的語(yǔ)句。
案例8:哪些人能走老年通道
如下所示為用if-elif-else語(yǔ)句判斷是否能走老年通道。

上述代碼中第01行代碼的作用是新建一個(gè)變量“age”,并將用戶輸入的值賦給變量“age”。
第02~05行代碼的作用是創(chuàng)建if-elif-else語(yǔ)句。程序執(zhí)行時(shí),Python會(huì)按照先后順序進(jìn)行判斷,若當(dāng)前條件(if的條件或者是elif的條件)為真時(shí),執(zhí)行對(duì)應(yīng)縮進(jìn)部分的代碼,并且后面還未執(zhí)行的條件判斷都跳過(guò),不再執(zhí)行。若當(dāng)前條件為假,則跳到下一個(gè)條件進(jìn)行判斷。
用鍵盤輸入“61”時(shí),上述代碼運(yùn)行結(jié)果如下。

用鍵盤輸入“12”時(shí),上述代碼運(yùn)行結(jié)果如下。

上述if-elif-else程序是如何執(zhí)行的呢?
1)首先在屏幕上打印“請(qǐng)輸入您的年齡:”,然后等待。
2)當(dāng)用戶輸入“61”后,將“61”轉(zhuǎn)換為整型,然后賦給變量“age”,這時(shí)變量的值為61。
3)接著執(zhí)行if語(yǔ)句,先檢測(cè)“age>=60”是真是假。由于61>60,因此條件為真。Python開始執(zhí)行下一行縮進(jìn)部分的語(yǔ)句,打印輸出“請(qǐng)您走老年人通道”。
4)忽略所有elif語(yǔ)句及else語(yǔ)句,結(jié)束程序。
5)再次運(yùn)行程序,在屏幕上打印“請(qǐng)輸入您的年齡:”,然后等待。
6)當(dāng)用戶輸入“12”后,將“12”轉(zhuǎn)換為整型,然后賦給變量“age”,這時(shí)變量的值為12。
7)接著執(zhí)行if語(yǔ)句,先檢測(cè)“age>=60”是真是假。由于12<60,因此條件為假。Python忽略下一行縮進(jìn)部分的語(yǔ)句,然后執(zhí)行第一個(gè)elif語(yǔ)句。
8)接著檢測(cè)“60>age>=18”是真是假。由于12<18,因此條件為假。Python忽略下一行縮進(jìn)部分的語(yǔ)句,然后執(zhí)行第二個(gè)elif語(yǔ)句。
9)接著檢測(cè)“18>age>=7”是真是假。由于18>12>7,因此條件為真。Python開始執(zhí)行下一行縮進(jìn)部分的語(yǔ)句,打印輸出“請(qǐng)您走青少年通道”,并忽略else語(yǔ)句,結(jié)束程序。
注意:
if-elif-else語(yǔ)句中只要有一個(gè)if語(yǔ)句的條件成立,就會(huì)跳過(guò)檢測(cè)其他的elif語(yǔ)句。因此只適合只有一個(gè)選項(xiàng)的情況。
4.if語(yǔ)句的嵌套
前面介紹了3種形式的if條件語(yǔ)句,這3種形式的條件語(yǔ)句之間都可以相互嵌套。在最簡(jiǎn)單的if語(yǔ)句中嵌套if-else語(yǔ)句,形式如下。

在if-else語(yǔ)句中嵌套if-else語(yǔ)句,形式如下。


2.6.2 for循環(huán)

1.for循環(huán)
for循環(huán)簡(jiǎn)單來(lái)說(shuō)是使用一個(gè)變量來(lái)遍歷列表中的每一個(gè)元素,就好比讓一個(gè)小朋友依次走過(guò)列表中的元素一樣。
for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串。它常用于遍歷字符串、列表、元組、字典、集合等序列類型,逐個(gè)獲取序列中的各個(gè)元素,并存儲(chǔ)在變量中。
在使用for循環(huán)遍歷列表和元組時(shí),列表或元組有幾個(gè)元素,for循環(huán)的循環(huán)體就執(zhí)行幾次,針對(duì)每個(gè)元素執(zhí)行一次,迭代變量會(huì)依次被賦值為元素的值。
for循環(huán)中包括for in和冒號(hào)(:),其用法如下所示。

上述代碼中,names為一個(gè)列表(列表的相關(guān)知識(shí)參考下一節(jié)內(nèi)容),第二、三行代碼為一個(gè)for循環(huán)語(yǔ)句,name為一個(gè)新建的變量,開始循環(huán)時(shí),從列表names中取出一個(gè)元素,并存儲(chǔ)在變量name中,然后print語(yǔ)句將元素打印出來(lái)。接著第二次循環(huán),再?gòu)牧斜韓ames中取出第二個(gè)元素,存儲(chǔ)在變量name中,并打印出來(lái);這樣一直重復(fù)執(zhí)行,直列表中的元素全部被到打印。
代碼運(yùn)行結(jié)果如下所示。

注意:
代碼中的冒號(hào)(:)不能丟。另外,“print(name)”語(yǔ)句必須縮進(jìn)4個(gè)字節(jié)才會(huì)進(jìn)行參數(shù)循環(huán)。如果忘記縮進(jìn),在運(yùn)行程序時(shí),將會(huì)出錯(cuò),Python將會(huì)提醒進(jìn)行縮進(jìn)。
2.for循環(huán)的好搭檔——range()函數(shù)
range()函數(shù)是Python內(nèi)置的函數(shù),用于生成一系列連續(xù)的整數(shù),多與for循環(huán)配合使用。如下所示為range()函數(shù)的用法。

上述代碼中,range(1,6)函數(shù)參數(shù)中的第一個(gè)數(shù)字1為起始數(shù),第二個(gè)數(shù)字為結(jié)束數(shù)(不包括此數(shù)),因此就生成了從1到5的數(shù)字。
代碼運(yùn)行結(jié)果如下。

如下所示為修改range()函數(shù)參數(shù)后的程序。

上述代碼中,range(1,6,2)函數(shù)參數(shù)中的第一個(gè)數(shù)字1為起始數(shù),第二個(gè)數(shù)字為結(jié)束數(shù)(不包括此數(shù)),第三個(gè)數(shù)為步長(zhǎng),即兩個(gè)數(shù)之間的間隔。因此就生成了1,3,5的奇數(shù)。
代碼運(yùn)行結(jié)果如下。

如下所示為range()函數(shù)只有一個(gè)參數(shù)的程序。

上述代碼中,range(10)函數(shù)參數(shù)中,如果只有一個(gè)數(shù),表示指定的是結(jié)束數(shù),第一個(gè)數(shù)默認(rèn)從0開始,因此就生成了0到9數(shù)。
3.遍歷字符串
使用for循環(huán)除了可以循環(huán)數(shù)值、列表外,還可以逐個(gè)遍歷字符串,如下所示為for循環(huán)遍歷字符串。

上述代碼運(yùn)行后結(jié)果如下所示。

案例9:用for循環(huán)畫螺旋線
在IDLE中創(chuàng)建一個(gè)名為“螺旋線.py”的文件,然后在文件中導(dǎo)入turtle模塊,接著用for遍歷range生成的整數(shù)列表,在每次循環(huán)時(shí),讓畫筆畫線段并旋轉(zhuǎn)畫筆,即可實(shí)現(xiàn)畫螺旋線。代碼如下。


運(yùn)行結(jié)果如圖2-1所示。

圖2-1 螺旋線
2.6.3 while循環(huán)

for循環(huán)主要針對(duì)集合中的每個(gè)元素(即遍歷),while循環(huán)則是只要指定的條件滿足,就不斷地循環(huán),直到指定的條件不滿足為止。
while循環(huán)中包括while、條件表達(dá)式和冒號(hào)(:)。條件表達(dá)式是循環(huán)執(zhí)行的條件,每次循環(huán)執(zhí)行前,都要執(zhí)行條件表達(dá)式,對(duì)條件進(jìn)行判斷。如果條件成立(即條件為真時(shí))就執(zhí)行循環(huán)體(循環(huán)體為冒號(hào)后面縮進(jìn)的語(yǔ)句),否則退出循環(huán);如果條件表達(dá)式在循環(huán)開始時(shí)就不成立(即條件為假),則不執(zhí)行循環(huán)語(yǔ)句,直接退出循環(huán)。
while循環(huán)的用法如下所示。

第01行代碼中的n為新建的變量,并將1賦給n。第02~04行代碼為while循環(huán)語(yǔ)句,語(yǔ)句中“while”與“:”之間的部分為循環(huán)中的條件表達(dá)式(即這里的“n<10”為條件表達(dá)式)。當(dāng)程序執(zhí)行時(shí),Python會(huì)不斷地判斷while循環(huán)中的條件表達(dá)式是否成立(即是否為真)。如果條件表達(dá)式成立,就會(huì)執(zhí)行下面縮進(jìn)部分的代碼(即打印n,然后將n加1)。之后再重復(fù)以上執(zhí)行while循環(huán),重新判斷條件表達(dá)式是否成立。就這樣一直循環(huán),直到條件表達(dá)式不成立時(shí),停止循環(huán),開始執(zhí)行while循環(huán)下面的代碼“print(‘結(jié)束’)”代碼。
注意:
While及下面縮進(jìn)部分語(yǔ)句都為while循環(huán)的組成部分。注意,冒號(hào)不能丟掉。
代碼運(yùn)行結(jié)果如下。


上面的程序是如何執(zhí)行的呢?
首先Python新建一個(gè)變量n,并將1賦給n,接著執(zhí)行while循環(huán)。
第1次循環(huán):先判斷條件表達(dá)式n<10是否成立。由于1<10,條件表達(dá)式成立,因此執(zhí)行冒號(hào)下面縮進(jìn)部分的代碼,即先執(zhí)行print(n)語(yǔ)句,打印輸出1,再執(zhí)行n=n+1(即n=1+1),這時(shí)n的值就變成了2。
第2次循環(huán):接下來(lái)重復(fù)執(zhí)行while循環(huán),判斷條件表達(dá)式n<10是否成立。由于2<10,條件表達(dá)式成立,接著執(zhí)行循環(huán)體中縮進(jìn)部分的代碼:先執(zhí)行print(n)語(yǔ)句,打印輸出2,再執(zhí)行n=n+1(即n=2+1),這時(shí)n的值就變成了3。
第10次循環(huán):就這樣一直循環(huán),直到第10次循環(huán)時(shí),n的值為10,條件表達(dá)式變成了10<10,條件表達(dá)式不成立。這時(shí)Python停止執(zhí)行循環(huán)部分的代碼,開始執(zhí)行下面的代碼,即執(zhí)行“print('結(jié)束')”代碼,打印輸出“結(jié)束”,程序運(yùn)行結(jié)束。
提示:如果while循環(huán)中的條件表達(dá)式是“True”(第一個(gè)字母必須大寫),那么while循環(huán)將會(huì)一直循環(huán)。
案例10:輸入登錄密碼
在IDLE中創(chuàng)建一個(gè)名為“輸密碼.py”的文件,然后在文件中定義兩個(gè)變量,并賦值0和True,然后用while循環(huán)讓用戶循環(huán)輸入密碼,指定輸入正確的密碼結(jié)束輸入,代碼如下。

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

2.6.4 break語(yǔ)句
如果想從while循環(huán)或for循環(huán)中立即退出,不再運(yùn)行循環(huán)中余下的代碼,也不管條件表達(dá)式是否成立,可以使用break語(yǔ)句。break語(yǔ)句用于控制程序的流程,可使用它來(lái)控制哪些代碼將執(zhí)行,哪些代碼不執(zhí)行,從而讓Python執(zhí)行想要的代碼。
break語(yǔ)句的用法如下所示。

代碼中while及下面縮進(jìn)部分語(yǔ)句都為while循環(huán)語(yǔ)句。while循環(huán)中嵌套了if條件語(yǔ)句。這兩句為if條件語(yǔ)句來(lái)檢測(cè)n是否大于5,如果n大于5就執(zhí)行break語(yǔ)句,退出循環(huán)。
代碼運(yùn)行結(jié)果如下。

上面程序是如何執(zhí)行的呢?首先Python新建一個(gè)變量n,并將1賦給n,接著執(zhí)行while循環(huán)。
第1次循環(huán):先判斷條件表達(dá)式n<10是否成立。由于1 <10,條件表達(dá)式成立,因此執(zhí)行冒號(hào)下面縮進(jìn)部分的代碼,先執(zhí)行“if n>5”語(yǔ)句,判斷n>5是真還是假,由于“1 >5”不成立,因此if條件測(cè)試的值為假,Python程序會(huì)忽略if語(yǔ)句中縮進(jìn)部分的語(yǔ)句(即忽略break語(yǔ)句)。接著執(zhí)行print(n)語(yǔ)句,打印輸出1,再執(zhí)行n=n+1(即n=1+1),這時(shí)n的值就變成了2。
第2次循環(huán):接下來(lái)重復(fù)執(zhí)行while循環(huán),判斷條件表達(dá)式n<10是否成立。由于2<10,條件表達(dá)式成立,接著執(zhí)行循環(huán)體中縮進(jìn)部分的代碼,先執(zhí)行“if n>5”語(yǔ)句,由于“2>5”不成立,因此if條件測(cè)試的值為假,Python程序會(huì)忽略break語(yǔ)句。接著執(zhí)行print(n)語(yǔ)句,打印輸出2,再執(zhí)行n=n+1(即n=2+1),這時(shí)n的值就變成了3。
第6次循環(huán):就這樣一直循環(huán),直到第6次循環(huán)時(shí),n的值為6,while循環(huán)中的條件表達(dá)式變成了6<10,條件表達(dá)式成立。接著執(zhí)行循環(huán)體中“if n>5”語(yǔ)句,由于“6>5”成立,因此if條件測(cè)試的值為真,之后Python程序執(zhí)行break語(yǔ)句,退出while循環(huán)。執(zhí)行下面的代碼,即執(zhí)行“print('結(jié)束')”代碼,打印輸出“結(jié)束”。程序運(yùn)行結(jié)束。
注意:
在任何Python循環(huán)中都可以使用break語(yǔ)句來(lái)退出循環(huán)。
案例11:輸入登錄密碼(break版)
在IDLE中創(chuàng)建一個(gè)名為“輸密碼.py”的文件,然后在文件中定義兩個(gè)變量,并賦值0和True,然后用while循環(huán)讓用戶循環(huán)輸入密碼,指定輸入正確的密碼結(jié)束輸入,代碼如下。

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

2.6.5 continue語(yǔ)句
在循環(huán)過(guò)程中,也可以通過(guò)continue語(yǔ)句跳過(guò)當(dāng)前的這次循環(huán),直接開始下一次循環(huán)。即continue語(yǔ)句可以返回到循環(huán)開頭,重新執(zhí)行循環(huán),進(jìn)行條件測(cè)試。
continue語(yǔ)句的使用方法如下所示。

代碼中while及下面縮進(jìn)部分語(yǔ)句都為while循環(huán)語(yǔ)句。循環(huán)中嵌套了if條件語(yǔ)句。這兩句為if條件語(yǔ)句,來(lái)檢測(cè)n除以2的余數(shù)是否等于0(即判斷是否為偶數(shù))如果求余的結(jié)果等于0,就執(zhí)行continue語(yǔ)句,跳到while循環(huán)開頭,開始下一次循環(huán)。
代碼運(yùn)行結(jié)果如下。

上面程序是如何執(zhí)行的呢?首先Python新建一個(gè)變量n,并將0賦給n,接著執(zhí)行while循環(huán)。
第1次循環(huán):先判斷條件表達(dá)式n<10是否成立。由于0<10,條件表達(dá)式成立,因此執(zhí)行冒號(hào)下面縮進(jìn)部分的代碼,先執(zhí)行“n=n+1”語(yǔ)句,n就變成了1;接著執(zhí)行“if n%2==0”語(yǔ)句,判斷n除以2的余數(shù)是否等于0(即判斷n是否是偶數(shù))。由于這時(shí)n的值變成了1,而1除以2的余數(shù)為1,if條件測(cè)試的值為假,Python程序會(huì)忽略if語(yǔ)句中縮進(jìn)部分的語(yǔ)句(即忽略continue語(yǔ)句)。接著執(zhí)行print(n)語(yǔ)句,打印輸出1。
第2次循環(huán):接下來(lái)重復(fù)執(zhí)行while循環(huán),判斷條件表達(dá)式n<10是否成立。由于1<10,條件表達(dá)式成立,接著執(zhí)行循環(huán)體中縮進(jìn)部分的代碼,先執(zhí)行“n=n+1”語(yǔ)句,n的值為1+1=2;接著執(zhí)行“if n%2==0”語(yǔ)句,判斷n除以2的余數(shù)是否等于0。由于2除以2的余數(shù)為0,if條件測(cè)試的值為真,Python程序執(zhí)行continue語(yǔ)句,返回到while循環(huán)開頭,重新開始循環(huán)。
第3次循環(huán):判斷條件表達(dá)式n<10是否成立。由于2<10,條件表達(dá)式成立,因此執(zhí)行冒號(hào)下面縮進(jìn)部分的代碼,先執(zhí)行“n=n+1”語(yǔ)句,n的值為2+1=3;接著執(zhí)行“if n%2==0”語(yǔ)句,判斷n除以2的余數(shù)是否等于0。由于3除以2的余數(shù)為1,if條件測(cè)試的值為假,Python程序會(huì)忽略if語(yǔ)句中縮進(jìn)部分的語(yǔ)句(即忽略continue語(yǔ)句)。接著執(zhí)行print(n)語(yǔ)句,打印輸出3。
第11次循環(huán):就這樣一直循環(huán),直到第11次循環(huán)時(shí),n的值為10,條件表達(dá)式變成了10<10,條件表達(dá)式不成立了。這時(shí)Python停止執(zhí)行循環(huán)部分的代碼,程序運(yùn)行結(jié)束。
案例12:10086查詢系統(tǒng)
在IDLE中創(chuàng)建一個(gè)名為“10086查詢.py”的文件,然后在文件中定義none變量,并賦值True,然后用while循環(huán)實(shí)現(xiàn)無(wú)限循環(huán),讓用戶輸入要查詢的代碼,之后判斷用戶輸入的代碼,并輸出相應(yīng)的值,代碼如下。

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

- 編寫高質(zhì)量代碼:改善Python程序的91個(gè)建議
- FFmpeg入門詳解:音視頻原理及應(yīng)用
- Building an RPG with Unity 2018
- 精通Linux(第2版)
- Learning Three.js:The JavaScript 3D Library for WebGL
- Nginx Lua開發(fā)實(shí)戰(zhàn)
- Android Wear Projects
- OpenStack Networking Essentials
- Spring 5 Design Patterns
- Oracle實(shí)用教程
- Android移動(dòng)應(yīng)用項(xiàng)目化教程
- 物聯(lián)網(wǎng)系統(tǒng)架構(gòu)設(shè)計(jì)與邊緣計(jì)算(原書第2版)
- 算法精解:C語(yǔ)言描述
- Java服務(wù)端研發(fā)知識(shí)圖譜
- Elastix Unified Communications Server Cookbook