欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python流程控制語(yǔ)句的深入講解

 更新時(shí)間:2020年06月15日 08:50:56   作者:我兜里有塊糖  
這篇文章主要給大家介紹了關(guān)于Python流程控制語(yǔ)句的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1.程序結(jié)構(gòu)

計(jì)算機(jī)在解決問(wèn)題時(shí),分別是順序執(zhí)行所有語(yǔ)句、選擇執(zhí)行部分語(yǔ)句、循環(huán)執(zhí)行部分語(yǔ)句,分別是:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。如下圖:

2.選擇語(yǔ)句  

2.1最簡(jiǎn)單的if語(yǔ)句

  Python使用保留字if來(lái)組成選擇語(yǔ)句,其格式如下:

if 表達(dá)式:
 代碼塊

  表達(dá)式可以是一個(gè)單純的布爾值或者變量,也可以是比較表達(dá)式或者邏輯表達(dá)式,如果表達(dá)式值為真,則執(zhí)行“代碼塊”;如果值為假,就跳過(guò)“代碼塊”,執(zhí)行后面語(yǔ)句,如圖

  注:1.在Python中,當(dāng)表達(dá)式的值為非零的數(shù)或者非空的字符串時(shí),if語(yǔ)句也認(rèn)為是條件成立(即為真值)。

··    2.使用if語(yǔ)句時(shí),如果只有一條語(yǔ)句,那么語(yǔ)句塊可以直接寫(xiě)到冒號(hào)“:”的右側(cè)。但為了代碼可讀性不建議這么做。

     3.常見(jiàn)錯(cuò)誤: 

1.if語(yǔ)句后面未加冒號(hào)
number = 3
if number == 3 #后面未加冒號(hào),正確的是結(jié)尾處添加英文半角的冒號(hào):if number == 3:
 print(number)
2.使用if語(yǔ)句時(shí),如果在符合條件時(shí),需要執(zhí)行多個(gè)語(yǔ)句,一定要記得按照邏輯順序進(jìn)行代碼縮進(jìn),否則程序的本意會(huì)有變化,但程序不會(huì)報(bào)錯(cuò),且bug不容易發(fā)現(xiàn)。
代碼1:
number = 3
if number == 3:
  print(number)
print('這個(gè)是5')
代碼2:
number = 3
if number == 3:
  print(number)
  print('這個(gè)是5'

2.2.if …… else 語(yǔ)句

  Python中提供 if …else 語(yǔ)句來(lái)解決兩個(gè)選擇問(wèn)題,其格式如下:

if 表達(dá)式:
 語(yǔ)句塊1
else:
 語(yǔ)句塊2

  使用 if …else 語(yǔ)句時(shí),表達(dá)式可以是一個(gè)單純的布爾值或者變量,也可以是比較表達(dá)式或者邏輯表達(dá)式,如果表達(dá)式值為真,則執(zhí)行“代碼塊”;如果值為假,執(zhí)行else后面的代碼塊。如圖所示:

  技巧:

if…else額語(yǔ)句可以使用條件表達(dá)式進(jìn)行簡(jiǎn)化,如下:
a = 5
if a > 0:
 b = a
else:
 b = -a
print(b)

簡(jiǎn)化:
a = 5
b = a if a > 0 else -a
print(b)

  注:1. 在使用else 語(yǔ)句時(shí),else一定不可以單獨(dú)使用,它必須和保留字if一起搭配使用。

    2.程序中使用if…else 語(yǔ)句時(shí),如果出現(xiàn)多個(gè)if 語(yǔ)句多余else語(yǔ)句的情況,那么該else語(yǔ)句將會(huì)根據(jù)確定該else 語(yǔ)句屬于哪個(gè)if語(yǔ)句。

2.3.if…elif…else語(yǔ)句

  在開(kāi)發(fā)程序時(shí)遇到多選一的情況,則可以使用if …elif…else語(yǔ)句,具體情況如下:

if 表達(dá)式1:
 語(yǔ)句塊1
elif 表達(dá)式2:
 語(yǔ)句塊2
elif 表達(dá)式3:
 語(yǔ)句塊3
…
else:
 語(yǔ)句塊n

  使用 if …elif…else 語(yǔ)句時(shí),表達(dá)式可以是一個(gè)單純的布爾值或者變量,也可以是比較表達(dá)式或者邏輯表達(dá)式,如果表達(dá)式值為真,則執(zhí)行語(yǔ)句;如果值為假,則跳過(guò)該執(zhí)行語(yǔ)句,進(jìn)行下一個(gè)elif判斷,只有表達(dá)式全部為假的情況下,執(zhí)行else后面的代碼塊。如圖所示:

  注:1. if 和 elif 都需要判斷表達(dá)式的真假,而 else 則不需要判斷;另外 elif 和 elif 都需要跟 if 一起使用,不能單獨(dú)使用。

     2. 使用if語(yǔ)句時(shí)盡量避免遵循以下原則:

(1).當(dāng)使用布爾類(lèi)型的變量作為判斷條件時(shí),假設(shè)布爾類(lèi)型變量為flag,較為規(guī)范格式;
if flag: #表示為真
if not flag #表示為假
不符合規(guī)范格式:
if flag == True:
if flag == False:
(2).使用 " if 1 == a: " 這樣的書(shū)寫(xiě)格式可以防止錯(cuò)寫(xiě)成 " if a = 1: "這種形式,從而避免出錯(cuò)

2.4 if 語(yǔ)句的嵌套

  前面已經(jīng)介紹了3種形式的 if 語(yǔ)句,這三種都可以進(jìn)行相互嵌套:

  (1) . 在最簡(jiǎn)單的if語(yǔ)句中嵌套 if……else語(yǔ)句,形式如下:

if 表達(dá)式1:
 if 表達(dá)式2:
 語(yǔ)句塊1
 else:
 語(yǔ)句塊2

  (2). 在if……else中嵌套if……else語(yǔ)句,形式如下:

if 表達(dá)式1:
 if 表達(dá)式2:
 語(yǔ)句塊1
 else:
 語(yǔ)句塊2
else:
 if 表達(dá)式3:
 語(yǔ)句塊3
 else:
 語(yǔ)句塊4

  注:if 選擇語(yǔ)句可以有多種嵌套方式,開(kāi)發(fā)時(shí)可以可以根據(jù)自身的需要進(jìn)行選擇合適的嵌套方式,但一定要嚴(yán)格控制好不同級(jí)別代碼的縮進(jìn)量。

3.條件表達(dá)式

  在程序開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)根據(jù)表達(dá)式的結(jié)果,有條件的進(jìn)行賦值,例如返回最大值:

a = 6
b = 3
if a > b:
 c = a
else:
 c = b

  針對(duì)以上代碼,使用條件表達(dá)式進(jìn)行簡(jiǎn)化,如下:

a = 6
b = 3
c = a if a > b else b

4.循環(huán)語(yǔ)句

4.1 while 循環(huán)

  while循環(huán)是通過(guò)一個(gè)條件來(lái)控制是否要繼續(xù)反復(fù)執(zhí)行循環(huán)體(循環(huán)體是指一組被重復(fù)執(zhí)行的語(yǔ)句)中的語(yǔ)句。

復(fù)制代碼 代碼如下:
while 條件表達(dá)式: 循環(huán)體

  當(dāng)條件表達(dá)式的返回值為真時(shí),則執(zhí)行循環(huán)體中的語(yǔ)句,執(zhí)行完畢后,重新判斷條件表達(dá)式的返回值,直到表達(dá)式返回的結(jié)果為假是退出循環(huán)體。

  注:在使用while循環(huán)語(yǔ)句時(shí),一定不要忘記添加將循環(huán)條件改變?yōu)镕lase的代碼,否則,將產(chǎn)生死循環(huán)。但開(kāi)發(fā)中也離不開(kāi)死循環(huán),可根據(jù)情況進(jìn)行編寫(xiě)。

4.2. for循環(huán)

  for 循環(huán)是一個(gè)依次重復(fù)執(zhí)行的循環(huán),通常適用于枚舉、遍歷序列和對(duì)象中的元素。語(yǔ)法如下:

for 迭代變量 in 可迭代對(duì)象:
 循環(huán)體

  迭代變量用于保存讀除的值,對(duì)象為遍歷或迭代的對(duì)象,該對(duì)象可以是任何有序的序列對(duì)象,如字符串,列表,元組等,循環(huán)體為一組被重復(fù)執(zhí)行的語(yǔ)句。

  for循環(huán)語(yǔ)句可以最基本的應(yīng)用就是進(jìn)行數(shù)值循環(huán)和遍歷字符串。還可以進(jìn)行遍歷列表、元組、集合和字典。

4.3. 循環(huán)嵌套

  在Python中,是允許在一個(gè)循環(huán)體中嵌套另一個(gè)循環(huán)。

  (1). 在while循環(huán)中嵌套while循環(huán)

while 條件表達(dá)式1:
 while 條件表達(dá)式2:
 循環(huán)體2
 循環(huán)體1

  (2). 在for 循環(huán)中嵌套 for 循環(huán)

for 迭代變量1 in 對(duì)象1:
 for 迭代變量2 in 對(duì)象2:
 循環(huán)體2
 循環(huán)體1

  (3). 在while 循環(huán)中嵌套 for 循環(huán)

while 條件表達(dá)式:
 for 迭代變量 in 對(duì)象:
 循環(huán)體2
 循環(huán)體1

  (4). 在 for 循環(huán)中嵌套 while 循環(huán)

while 條件表達(dá)式:
 for 迭代變量 in 對(duì)象:
 循環(huán)體2
 循環(huán)體1

  特殊案例:九九乘法表

for i in range(0,10):
 for j in range(1,i+1):
 print(str(j) + "*" + str(i) + "=" + str(i * j) +"\t" ,end = " "
 print("")

5.跳轉(zhuǎn)語(yǔ)句

  當(dāng)循環(huán)滿足一定條件時(shí),程序會(huì)一直執(zhí)行下去,如果需要在中間離開(kāi)循環(huán),也就是for循環(huán)結(jié)束重復(fù)之前,或者while循環(huán)找到結(jié)束條件之前,即break語(yǔ)句和continue語(yǔ)句。

5.1 break語(yǔ)句

  break可以終止當(dāng)前循環(huán),包括for循環(huán)和while循環(huán)在內(nèi)的所有控制語(yǔ)句。

  在while中使用break語(yǔ)句:

while 條件表達(dá)式1:
 執(zhí)行語(yǔ)句
 if 條件表達(dá)式2:
 break

  在for 中使用break語(yǔ)句

for 迭代變量 in 對(duì)象:
 if 條件表達(dá)式:
 break

     while語(yǔ)句使用break for語(yǔ)句中使用break

5.2.continue語(yǔ)句

  continue語(yǔ)句的作用沒(méi)有break語(yǔ)句強(qiáng)大,他只能終止本次循環(huán)而提前進(jìn)入下次循環(huán)中。

  在while中使用continue語(yǔ)句

while 條件表達(dá)式1:
 執(zhí)行代碼
 if 條件表達(dá)式2:
 continue

  在for 中使用continue語(yǔ)句

for 迭代變量 in 對(duì)象:
 if 條件表達(dá)式:
 continue

     while語(yǔ)句使用continue for語(yǔ)句中使用continue

  注:break與continue的區(qū)別

    break語(yǔ)句一般會(huì)結(jié)合if 語(yǔ)句進(jìn)行搭配使用,表示在某種條件下,跳出循環(huán)。如果使用嵌套循環(huán),break語(yǔ)句將跳出最內(nèi)層循環(huán)。

    continue語(yǔ)句一般也會(huì)結(jié)合if語(yǔ)句進(jìn)行搭配使用,表示在某種條件下,跳出當(dāng)前循環(huán)的剩下語(yǔ)句,繼續(xù)進(jìn)行下一輪循環(huán),如果使用嵌套循環(huán),continue語(yǔ)句將只跳過(guò)最內(nèi)層循環(huán)中剩余語(yǔ)句。

6.pass語(yǔ)句

  在Python中pass語(yǔ)句表示空語(yǔ)句,它不做任何事情,一般起到站位作用,常用在代碼調(diào)試等。

#例:
for i in range(1,10): #輸出1~10的數(shù)不包含10
 if i % 2 == 0: #判斷是否是偶數(shù) 
 print(i,end="") #在同一行打印偶數(shù) 
 else:  #不是偶數(shù)
 pass  #占位符,不做任何事情,直接跳過(guò)

#輸出結(jié)果為:
2 4 6 8

總結(jié)

到此這篇關(guān)于Python流程控制語(yǔ)句的文章就介紹到這了,更多相關(guān)Python流程控制語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?變量教程之打包和解包參數(shù)

    Python?變量教程之打包和解包參數(shù)

    這篇文章主要介紹了Python?變量教程之打包和解包參數(shù),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Python列表與元組的異同詳解

    Python列表與元組的異同詳解

    這篇文章主要介紹了Python列表與元組的異同詳解,“列表(list)與元組(tuple)兩種數(shù)據(jù)類(lèi)型有哪些區(qū)別”這個(gè)問(wèn)題在初級(jí)程序員面試中經(jīng)常碰到,超出面試官預(yù)期的答案往往能加不少印象分,也會(huì)給后續(xù)面試順利進(jìn)行提供一定幫助,需要的朋友可以參考下
    2019-07-07
  • 深入淺析Pytorch中stack()方法

    深入淺析Pytorch中stack()方法

    這篇文章主要介紹了Pytorch中stack()方法的總結(jié)及理解,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-11-11
  • 如何使用Python 打印各種三角形

    如何使用Python 打印各種三角形

    這篇文章主要介紹了如何使用Python 打印各種三角形,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-06-06
  • VSCode基礎(chǔ)使用與VSCode調(diào)試python程序入門(mén)的圖文教程

    VSCode基礎(chǔ)使用與VSCode調(diào)試python程序入門(mén)的圖文教程

    這篇文章主要介紹了VSCode基礎(chǔ)使用+VSCode調(diào)試python程序入門(mén)圖文教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Tensorflow2.10使用BERT從文本中抽取答案實(shí)現(xiàn)詳解

    Tensorflow2.10使用BERT從文本中抽取答案實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了Tensorflow2.10使用BERT從文本中抽取答案實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • python 三元運(yùn)算符使用解析

    python 三元運(yùn)算符使用解析

    這篇文章主要介紹了python 三元運(yùn)算符使用解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • python 用pandas實(shí)現(xiàn)數(shù)據(jù)透視表功能

    python 用pandas實(shí)現(xiàn)數(shù)據(jù)透視表功能

    這篇文章主要介紹了python 用pandas實(shí)現(xiàn)數(shù)據(jù)透視表功能的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • python分析inkscape路徑數(shù)據(jù)方案簡(jiǎn)單介紹

    python分析inkscape路徑數(shù)據(jù)方案簡(jiǎn)單介紹

    這篇文章主要介紹了python分析inkscape路徑數(shù)據(jù)方案簡(jiǎn)單介紹,文章通過(guò)圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-09-09
  • python pandas合并Sheet,處理列亂序和出現(xiàn)Unnamed列的解決

    python pandas合并Sheet,處理列亂序和出現(xiàn)Unnamed列的解決

    這篇文章主要介紹了python pandas合并Sheet,處理列亂序和出現(xiàn)Unnamed列的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03

最新評(píng)論