簡單談談Python流程控制語句
人們常說人生就是一個不斷做選擇題的過程:有的人沒得選,只有一條路能走;有的人好一點,可以二選一;有些能力好或者家境好的人,可以有更多的選擇;還有一些人在人生的迷茫期會在原地打轉(zhuǎn),找不到方向。對于相信有上帝的人來講,這就好像是上帝事先為我們制定好了人生路線,也好像是那些神仙為唐曾師徒的取經(jīng)之路提前設置的重重磨難,上帝和神仙掌控了一切。編程語言可以模擬人類生活的方方面面,程序員就像上帝和神仙一樣可以通過編程語言中特殊的關鍵字控制程序的執(zhí)行過程,這些關鍵字組成的就是流程控制語句。
編程語言中的流程控制語句分為以下幾類:
- 順序語句
- 分支語句
- 循環(huán)語句
其中順序語句不需要單獨的關鍵字來控制,就是一行行的執(zhí)行,不需要特殊的說明。這里主要要說的是 分支語句 和 循環(huán)語句。
一、分支語句
條件分支語句是通過一條或多條語句(判斷條件)的執(zhí)行結(jié)果(True/False)來決定執(zhí)行哪個分支的代碼塊。Python中提供的分支語句為:if..else語句,沒有提供switch..case語句。if..else語句有以下幾種形式:
單分支:
if 判斷條件:
代碼塊
如果單分支語句的代碼塊只有一條語句,可以把if語句和代碼寫在同一行:
if 判斷條件: 一句代碼
實例:判斷指定的uid是不是root用戶
uid = 0
if uid == 0:
print("root")
也可以這樣寫:
uid = 0
if uid == 0: print("root")
輸出結(jié)果:root
雙分支:
if 判斷條件:
代碼塊
else:
代碼塊
實例:根據(jù)用戶id打印用戶身份
uid = 100
if uid == 0:
print("root")
else:
print("Common user")
輸出結(jié)果:Common user
多分支:
if 判斷條件1:
代碼塊1
elif 判斷條件2:
代碼塊2
...
elif 判斷條件n:
代碼塊n
else:
默認代碼塊
實例:根據(jù)學生分數(shù)打印字母等級
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')
輸出結(jié)果:Level B
說明:
當上面的“判斷條件”中的表達式可以是任意的表達式,也可以是任意類型的數(shù)據(jù)對象實例。只要判斷條件的最終返回結(jié)果的“真”值測試為True時,就表示該條件成立,相應的代碼塊就會被執(zhí)行;否則表示條件不成立,需要判斷下一個條件。
二、循環(huán)語句
當我們需要多次執(zhí)行一個代碼語句或代碼塊時,可以使用循環(huán)語句。Python中提供的循環(huán)語句有:while循環(huán)和for循環(huán)。需要注意的是Python中沒有do..while循環(huán)。此外,還有幾個用于控制循環(huán)執(zhí)行過程的循環(huán)控制語句:break、continue和pass。
1. while循環(huán)
基本形式
while循環(huán)語句的基本形式如下:
while 判斷條件:
代碼塊
當給定的判斷條件的返回值的真值測試結(jié)果為True時執(zhí)行循環(huán)體的代碼,否則退出循環(huán)體。
實例:循環(huán)打印數(shù)字0-9
count = 0 while count <= 9: print(count, end=' ') count += 1
輸出結(jié)果:0 1 2 3 4 5 6 7 8 9
while死循環(huán)
當while的判斷條件一直為True時,while循環(huán)體中代碼就會永遠循環(huán)下去。
while True:
print("這是一個死循環(huán)")
輸出結(jié)果:
這是一個死循環(huán)
這是一個死循環(huán)
這是一個死循環(huán)
...
此時可以通過 Ctrl + C終止運行。
while..else
語句形式:
while 判斷條件:
代碼塊
else:
代碼塊
else中的代碼塊會在while循環(huán)正常執(zhí)行完的情況下執(zhí)行,如果while循環(huán)被break中斷,else中的代碼塊不會執(zhí)行。
實例1:while循環(huán)正常執(zhí)行結(jié)束的情況(else中的語句會被執(zhí)行)
count = 0
while count <=9:
print(count, end=' ')
count += 1
else:
print('end')
執(zhí)行結(jié)果為:0 1 2 3 4 5 6 7 8 9 end
實例2:while循環(huán)被中斷的情況(else中的語句不會被執(zhí)行)
count = 0
while count <=9:
print(count, end=' ')
if count == 5:
break
count += 1
else:
print('end')
輸出結(jié)果:0 1 2 3 4 5
2. for循環(huán)
for循環(huán)通常用于遍歷序列(如list、tuple、range、str)、集合(如 set)和映射對象(如dict)。
基本形式
for循環(huán)的基本格式:
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])
執(zhí)行結(jié)果:
Tom
Peter
Jerry
Jack
for...else
與while..else基本一致,不再贅述。
3. 循環(huán)控制語句
循環(huán)控制語句可以更改循環(huán)體中程序的執(zhí)行過程,如中斷循環(huán)、跳過本次循環(huán)。
循環(huán)控制語句 說明
break 終止整個循環(huán)
contine 跳過本次循環(huán),執(zhí)行下一次循環(huán)
pass pass語句是個空語句,只是為了保持程序結(jié)構(gòu)的完整性,沒有什么特殊含義。pass語句并不是只能用于循環(huán)語句中,也可以用于分支語句中。
實例1:遍歷0-9范圍內(nèi)的所有數(shù)字,并通過循環(huán)控制語句打印出其中的奇數(shù)
for i in range(10):
if i % 2 == 0:
continue
print(i, end=' ')
輸出結(jié)果:1 3 5 7 9
實例2:通過循環(huán)控制語句打印一個列表中的前3個元素
names = ['Tom', 'Peter', 'Jerry', 'Jack', 'Lilly']
for i in range(len(names)):
if i >= 3:
break
print(names[i])
輸出結(jié)果:
Tom
Peter
Jerry
4. 循環(huán)嵌套
循環(huán)嵌套是指:在一個循環(huán)體里面嵌入另一循環(huán)。
實例1:通過while循環(huán)打印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循環(huán)打印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
輸出結(jié)果:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
相關文章
Python在后臺自動解壓各種壓縮文件的實現(xiàn)方法
這篇文章主要介紹了Python在后臺自動解壓各種壓縮文件的實現(xiàn)方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
Python 游戲大作炫酷機甲闖關游戲爆肝數(shù)千行代碼實現(xiàn)案例進階
本篇文章給大家?guī)鞵ython的一個游戲大制作—機甲闖關冒險,數(shù)千行代碼實現(xiàn)的游戲,過程很詳細,對大家的學習或工作具有一定的借鑒價值,需要的朋友可以參考下2021-10-10
tensorflow 實現(xiàn)打印pb模型的所有節(jié)點
今天小編就為大家分享一篇tensorflow 實現(xiàn)打印pb模型的所有節(jié)點,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
使用wxPython實現(xiàn)逐行加載HTML內(nèi)容并實時顯示效果
這篇博客中,我們將詳細分析如何使用 wxPython 構(gòu)建一個簡單的桌面應用程序,用于逐行加載并顯示 HTML 文件的內(nèi)容,并在加載完成后通過瀏覽器組件呈現(xiàn)最終頁面,通過該應用,我們可以體驗到逐行加載 HTML 內(nèi)容的視覺效果,類似于模擬代碼輸入,需要的朋友可以參考下2024-11-11

