python基礎(二) —— 流程式控制制語句

來源:互聯網
上載者:User

標籤:含義   不可   自增   pac   2.4   數實值型別   pad   eve   core   

程式設計語言中的流程式控制制語句分為以下幾類:

  • 順序語句
  • 分支語句
  • 迴圈語句

其中順序語句不需要單獨的關鍵字來控制,就是按照先後順序一行一行的執行,不需要特殊的說明。

下面主要是 分支語句 和 迴圈語句的說明:

Python中的真假判斷標準:

Python中只有判斷語句的最終結果:非0,非空,非None,結果就為真

 

1、分支語句

條件分支語句是通過一條或多條語句(判斷條件)的執行結果(True/False)來決定執行哪個分支的代碼塊。

Python中提供的分支語句為:if..else語句,沒有提供switch..case語句。

if..else語句有以下幾種形式:

1.1 單分支:

 

if 判斷條件:

    代碼塊

 

如果單分支語句的代碼塊只有一條語句,可以把if語句和代碼寫在同一行:

if 判斷條件: 一句代碼

 

樣本:

a = 1
b = 5
c = 10
if a <= b <= c:
   
print(‘1 <= 5 <= 10‘)

輸出:

1 <= 5 <= 10

代碼塊中只有一條語句,可以改寫為:

a = 1
b = 5
c = 10
if a <= b <= c:   print(‘1 <= 5 <= 10‘)

輸出:

1 <= 5 <= 10

 

1.2 雙分支:

if 判斷條件:

    代碼塊

else:

    代碼塊

 

樣本:

a = 1
b = 5
if a >= b :
   
print(‘a大於b‘)
else:
   
print(‘a小於b‘)

輸出結果:

a小於b

1.3 多分支:

if 判斷條件1:

    代碼塊1

elif 判斷條件2:

    代碼塊2

...

elif 判斷條件n:

    代碼塊n

else:

    預設代碼塊

 

樣本:根據學生分數列印字母等級

score = 88.8

level = int(score % 10)

 

if level >= 10:

    print(‘Level A+‘)

elif level == 9:

    print(‘Level A‘)

elif level == 8:

    print(‘Level B‘)

elif level == 7:

    print(‘Level C‘)

elif level == 6:

    print(‘Level D‘)

else:

    print(‘Level E‘)

輸出結果:Level B

注意

當上面的“判斷條件”中的運算式可以是任意的運算式,也可以是任意類型的資料對象執行個體。只要判斷條件的最終返回結果的值測試為True時,就表示該條件成立,相應的代碼塊就會被執行;否則表示條件不成立,需要判斷下一個條件

 

2、迴圈語句

當我們需要多次執行一個代碼語句或代碼塊時,可以使用迴圈語句。

Python中提供的迴圈語句有2種:while迴圈(通用)和for迴圈(已知迴圈次數使用)。

需要注意的是Python中沒有do..while迴圈

此外,還有幾個用於控制迴圈執行過程的迴圈控制語句:break、continue和pass。

2.1.  while迴圈

基本形式

2.1.1  while迴圈語句基本語句

基本形式如下:

 

while 判斷條件:

    代碼塊

 

當給定的判斷條件的傳回值的真值測試結果為True時執行迴圈體的代碼,否則退出迴圈體

 

樣本:迴圈列印數字0-9

count = 0

while count <= 9:

    print(count, end=‘‘)

    count += 1

輸出結果:0 1 2 3 4 5 6 7 8 9

2.1.2  while死迴圈

當while的判斷條件一直為True時,while迴圈體中代碼就會永遠迴圈下去

 

while True:

    print("這是一個死迴圈")

 

輸出結果:

這是一個死迴圈

這是一個死迴圈

這是一個死迴圈

...

此時可以通過Ctrl + C終止運行。

2.1.3  while..else

語句形式:

 

while 判斷條件:

    代碼塊

else:

    代碼塊

 

else中的代碼塊會在while迴圈正常執行完的情況下執行,如果while迴圈被break中斷,else中的代碼塊不會執行。

 

樣本1:while迴圈正常執行結束的情況(else中的語句會被執行)

count = 0

while count <=9:

    print(count, end=‘‘)

    count += 1

else:

    print(‘end‘)

執行結果為:0 1 2 3 4 5 6 7 8 9 end

樣本2:while迴圈被中斷的情況(else中的語句不會被執行)

count = 0

while count <=9:

    print(count, end=‘‘)

    if count == 5:

        break

    count += 1

else:

    print(‘end‘)

輸出結果:0 1 2 3 4 5

 

2.2.  for迴圈

for迴圈通常用於遍曆序列(listtuplerangestr)、集合(set)和映射對象(dict)

基本形式

2.2.1.  for迴圈的基本格式:

 

for   臨時變數   in   可迭代對象:

    代碼塊

 

樣本:遍曆列印一個list中的元素

names = [‘Tom‘, ‘Peter‘, ‘Jerry‘, ‘Jack‘]

for  name  in  names:

    print(name)

對於序列,也通過索引進行迭代:

names = [‘Tom‘, ‘Peter‘, ‘Jerry‘, ‘Jack‘]

for  i  in  range(len(names)):

    print(names[i])

執行結果:

Tom

Peter

Jerry

Jack

2.2.2  for...else

與while..else基本一致,同樣else語句只有在for迴圈正常執行結束時才會執行,如果for迴圈被break跳出,則不執行else語句。

 

2.3. 迴圈控制語句

迴圈控制語句可以更改迴圈體中程式的執行過程,如中斷迴圈、跳過本次迴圈。

迴圈控制語句

說明

break

跳出當前層迴圈,不能一次跳出多層

contine

跳過本次迴圈,繼續執行本層的下一次迴圈

pass

pass語句是個空語句,只是為了保持程式結構的完整性,相當於預留位置,沒有什麼特殊含義。

pass語句並不是只能用於迴圈語句中,也可以用於分支語句中。

 

樣本1:遍曆0-9範圍內的所有數字,並通過迴圈控制語句列印出其中的奇數

for  i  in  range(10):

    if  i % 2 == 0:

        continue

    print(i, end=‘ ‘)

輸出結果:1 3 5 7 9

樣本2:通過迴圈控制語句列印一個列表中的前3個元素

names = [‘Tom‘, ‘Peter‘, ‘Jerry‘, ‘Jack‘, ‘Lilly‘]

for  i  in  range(len(names)):

    if  i  >=3:

        break

    print(names[i])

輸出結果:

Tom

Peter

Jerry

2.4. 迴圈嵌套

迴圈嵌套是指:在一個迴圈體裡面嵌入另一迴圈。

樣本1:通過while迴圈列印99乘法表

j = 1

while j <= 9:

    i = 1

    while i <= j:

        print(‘%d*%d=%d‘% (i, j, i*j), end=‘\t‘)

        i += 1

    print()

    j += 1

樣本2:通過for迴圈列印99乘法表

for j in range(1, 10):

    for i in range(1, j+1):

        print(‘%d*%d=%d‘ % (i, j, i*j), end=‘\t‘)

        i += 1

    print()

    j += 1

注意:python中沒有類似C中的自增和自減運算,因為數實值型別的對象在python中屬於不可變類型,不能夠原位改變其值

python基礎(二) —— 流程式控制制語句

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.