流程控制
- 流程:代碼執行的程序
- 控制:對代碼執行程序的把控
三大結構
- 順序結構:代碼默認從上到下,依次執行
- 分支結構:單項分支,雙向分支,多項分支,巢狀分支
- 回圈結構:while回圈和for回圈
單項分支
陳述句:
if 條件運算式:
code1
code2
當條件運算式成立時,回傳True,執行對應的代碼塊
job = "programmer"
if job == "programmer":
print("錢多")
print("話少")
print("*的早")
雙向分支(二選一)
陳述句:
if 條件運算式:
code1 ..
else:
code2 ...
- 如果條件運算式成立,回傳True ,執行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:一般用于迭代資料
- 部分情況下兩個回圈可以互相轉換
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/188307.html
標籤:Python
上一篇:面向物件、類
下一篇:面向物件、類
