標籤:含義 不可 自增 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迴圈通常用於遍曆序列(如list、tuple、range、str)、集合(如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基礎(二) —— 流程式控制制語句