注意
本篇圖片素材都來自慕課網,因為素材過於優秀,直接拿過來了,加水印只是為了防止整篇文章被搬
前言
程式並非是一成不變的向下執行,有的時候也要根據條件的不同選擇不一樣的程式碼,這個時候便用到了分支結構
最簡單的分支結構
對條件進行判斷:
- 如果條件為真,執行“條件為真的分支”
- 如果條件為假,執行“條件為假的分支”
if ... else ... 語句
Python 提供了 if 條件控制語句用於選擇執行流程
if 條件:
條件為真的分支
else:
條件為假的分支
可以選擇不帶 else 分支
if 條件:
條件為真的分支
程式碼栗子一
# 栗子一
if 2 > 1:
print('2 > 1 is true')
else:
print('2 > 1 is false') # 輸出結果
2 > 1 is true
程式碼栗子二
# 栗子二
lis = [1, 2, 3, 4]
if len(lis) > 5:
print('列表長度大於 5')
else:
print('列表長度小於 5') # 輸出結果
列表長度小於 5
程式碼栗子三
if 1 == 1:
print('1 == 1 is true') # 輸出結果
1 == 1 is true
多分支選擇結構
對多個條件進行判斷:
- 如果條件 1 為真,則執行程式碼塊 1
- 如果條件 2 為真,則執行程式碼塊 2
- 如果條件 3 為真,則執行程式碼塊 3
- 如果以上條件都不滿足,則執行程式碼塊 4
if ... elif .. elif .. else .. 語句
if 條件 1:
程式碼塊 1
elif 條件 2:
程式碼塊 2
elif 條件 3:
程式碼塊 3
else:
程式碼塊 4
不帶 else 分支
if 條件 1:
程式碼塊 1
elif 條件 2:
程式碼塊 2
elif 條件 3:
程式碼塊 3
程式碼栗子
# 栗子一
from random import randint res = randint(0, 4)
if res == 0:
print('num is 0', res)
elif res == 1:
print('num is 1', res)
elif res == 2:
print('num is 2', res)
elif res == 3:
print('num is 3', res)
else:
print('num is 4', res) # 輸出結果
num is 2 2
randint 是返回隨機整數
分支巢狀結構
程式首先判斷條件 1 是否為真
如果條件 1 為真,則判斷條件 2 是否為真
- 條件 1 為真並且條件 2 為真,執行程式碼塊 1
- 條件 1 為真並且條件 2 為假,執行程式碼塊 2
如果條件 1 為假,則判斷條件 3 是否為真
- 條件 1 為假並且條件 3 為真,執行程式碼塊 3
- 條件 1 為假並且條件 3 為假,執行程式碼塊 4
程式碼栗子
# 分支巢狀結構
from random import randint res1 = randint(0, 1)
res2 = randint(0, 1)
if res1 == 0:
if res2 != 0:
print("0,1")
else:
print("0,0")
else:
if res2 > 0:
print("1,1")
else:
print("1,0") # 輸出結果
1,0