詳解Python流程控制語句
阿新 • • 發佈:2020-10-30
流程控制
- 流程:程式碼執行的過程
- 控制:對程式碼執行過程的把控
三大結構
- 順序結構:程式碼預設從上到下,依次執行
- 分支結構:單項分支,雙向分支,多項分支,巢狀分支
- 迴圈結構:while迴圈和for迴圈
單項分支
語句:
if 條件表示式:
code1
code2
當條件表示式成立時,返回True,執行對應的程式碼塊
job = "programmer" if job == "programmer": print("錢多") print("話少") print("*的早")
雙向分支(二選一)
語句:
if 條件表示式:
code1 ..else:
code2 ...
- 如果條件表示式成立,執行if這個區間的程式碼塊
- 如果條件表示式不成立,返回False,執行else這個區間的程式碼塊
job = "programmer" if job == "programmer": print("錢多") print("話少") print("*的早") else: print("給你小紅花兒~")
多項分支(多選一)
語句:
if 條件表示式1:
code1
elif 條件表示式2:
code2
elif 條件表示式3:
code3
else:
code4
- 如果條件表示式1成立,執行對應分支的程式碼塊code1,反之則判斷條件表示式2是否成立
- 如果條件表示式2成立,執行對應分支的程式碼塊code2,反之則判斷條件表示式3是否成立
- 如果條件表示式3成立,執行對應分支的程式碼塊code3,反之則執行else分支,到此程式執行完畢
money = False car = False house = False if money == True: print("你是土豪麼???") elif car == True: print("你是有一輛蹦蹦嘛???") elif house == True: print("你是什麼房子啊?") else: print("你是個好人~")
巢狀分支
單項分支,多項分支的互相巢狀組合
money = False car = True house = True if money == True: print("你是土豪麼???") if house == True: print("你是什麼房子啊?") if car == True: print("你是有一輛蹦蹦嘛???") else: print("其實還可以~") else: print("感覺差點意思~") else: print("你是個好人~")
迴圈結構
特點:
減少冗餘程式碼,提升程式碼執行效率
語法:
while 條件表示式:
code1
書寫三部曲
- 初始化一個變數
- 書寫迴圈條件
- 新增自增/自減的值
案例1
# 列印1~100所有數字 i = 1 while i <= 100: print(i) i += 1
案例2
# 列印1~100的累加和 i = 0 total = 0 while i <= 100: total += i i += 1 print(total)
死迴圈
while True: print("死迴圈")
關鍵字的使用
pass(程式碼塊中的佔位符)
while True: pass
break(終止當前迴圈)
# 1~10,遇到5終止迴圈 i = 1 while i <= 10: print(i) if i == 5: break i += 1
container(跳過當前迴圈)
# 列印1~100中不含4的數字 i = 1 while i <= 100: strvar = str(i) if "4" in strvar: i += 1 continue print(i) i += 1
for迴圈
迴圈/遍歷/迭代,把容器中的元素一個個取出來
while的侷限性
# Error # setvar = {"a","b","c"} # i = 0 # while i < len(setvar): # print(setvar[i]) # i+=1
for迴圈的基本語法
for 變數 in Iterable:
code1
Iterable
Iterable可迭代性資料
- 容器型別資料
- range物件
- 迭代器
range
range(開始值,結束值,步長)
區間為[開始值,結束值),為左閉右開區間,右邊的結束值取不到
總結
- while:一般用於處理複雜的邏輯關係
- for:一般用於迭代資料
- 部分情況下兩個迴圈可以互相轉換
以上就是詳解Python流程控制語句的詳細內容,更多關於Python流程控制語句的資料請關注我們其它相關文章!