詳解Python流程控制語句
流程控制
- 流程:代碼執(zhí)行的過程
- 控制:對代碼執(zhí)行過程的把控
三大結(jié)構(gòu)
- 順序結(jié)構(gòu):代碼默認(rèn)從上到下,依次執(zhí)行
- 分支結(jié)構(gòu):單項(xiàng)分支,雙向分支,多項(xiàng)分支,巢狀分支
- 循環(huán)結(jié)構(gòu):while循環(huán)和for循環(huán)
單項(xiàng)分支
語句:
if 條件表達(dá)式:
code1
code2
當(dāng)條件表達(dá)式成立時(shí),返回True,執(zhí)行對應(yīng)的代碼塊
job = "programmer"
if job == "programmer":
print("錢多")
print("話少")
print("*的早")
雙向分支(二選一)
語句:
if 條件表達(dá)式:
code1 ..
else:
code2 ...
- 如果條件表達(dá)式成立,返回True ,執(zhí)行if這個(gè)區(qū)間的代碼塊
- 如果條件表達(dá)式不成立,返回False,執(zhí)行else這個(gè)區(qū)間的代碼塊
job = "programmer"
if job == "programmer":
print("錢多")
print("話少")
print("*的早")
else:
print("給你小紅花兒~")
多項(xiàng)分支(多選一)
語句:
if 條件表達(dá)式1:
code1
elif 條件表達(dá)式2:
code2
elif 條件表達(dá)式3:
code3
else:
code4
- 如果條件表達(dá)式1成立,執(zhí)行對應(yīng)分支的代碼塊code1,反之則判斷條件表達(dá)式2是否成立
- 如果條件表達(dá)式2成立,執(zhí)行對應(yīng)分支的代碼塊code2,反之則判斷條件表達(dá)式3是否成立
- 如果條件表達(dá)式3成立,執(zhí)行對應(yīng)分支的代碼塊code3,反之則執(zhí)行else分支,到此程序執(zhí)行完畢
money = False
car = False
house = False
if money == True:
print("你是土豪么???")
elif car == True:
print("你是有一輛蹦蹦嘛???")
elif house == True:
print("你是什么房子啊?")
else:
print("你是個(gè)好人~")
巢狀分支
單項(xiàng)分支,雙向分支,多項(xiàng)分支的互相嵌套組合
money = False
car = True
house = True
if money == True:
print("你是土豪么???")
if house == True:
print("你是什么房子啊?")
if car == True:
print("你是有一輛蹦蹦嘛???")
else:
print("其實(shí)還可以~")
else:
print("感覺差點(diǎn)意思~")
else:
print("你是個(gè)好人~")
循環(huán)結(jié)構(gòu)
特點(diǎn):
減少冗余代碼,提升代碼執(zhí)行效率
語法:
while 條件表達(dá)式:
code1
書寫三部曲
- 初始化一個(gè)變量
- 書寫循環(huán)條件
- 添加自增/自減的值
案例1
# 打印1~100所有數(shù)字 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)
死循環(huán)
while True:
print("死循環(huán)")
關(guān)鍵字的使用
pass(代碼塊中的占位符)
while True: pass
break(終止當(dāng)前循環(huán))
# 1~10,遇到5終止循環(huán)
i = 1
while i <= 10:
print(i)
if i == 5:
break
i += 1
container(跳過當(dāng)前循環(huán))
# 打印1~100中不含4的數(shù)字
i = 1
while i <= 100:
strvar = str(i)
if "4" in strvar:
i += 1
continue
print(i)
i += 1
for循環(huán)
循環(huán)/遍歷/迭代,把容器中的元素一個(gè)個(gè)取出來
while的局限性
# Error
# setvar = {"a", "b", "c"}
# i = 0
# while i < len(setvar):
# print(setvar[i])
# i+=1
for循環(huán)的基本語法
for 變量 in Iterable:
code1
Iterable
Iterable可迭代性數(shù)據(jù)
- 容器類型數(shù)據(jù)
- range對象
- 迭代器
range
range(開始值,結(jié)束值,步長)
區(qū)間為[開始值,結(jié)束值),為左閉右開區(qū)間,右邊的結(jié)束值取不到
總結(jié)
- while:一般用于處理復(fù)雜的邏輯關(guān)系
- for:一般用于迭代數(shù)據(jù)
- 部分情況下兩個(gè)循環(huán)可以互相轉(zhuǎn)換
以上就是詳解Python流程控制語句的詳細(xì)內(nèi)容,更多關(guān)于Python流程控制語句的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python opencv實(shí)現(xiàn)任意角度的透視變換實(shí)例代碼
這篇文章主要介紹了python opencv實(shí)現(xiàn)任意角度的透視變換實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Pandas+Numpy+Sklearn隨機(jī)取數(shù)的實(shí)現(xiàn)示例
使用Python、pandas、numpy、scikit-learn來實(shí)現(xiàn)隨機(jī)打亂、抽取和切割數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03
python+opencv實(shí)現(xiàn)堆疊圖片
這篇文章主要為大家詳細(xì)介紹了python+opencv實(shí)現(xiàn)堆疊圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
Python+OpenCV實(shí)現(xiàn)基于顏色的目標(biāo)識(shí)別
這篇文章主要介紹了利用OpenCV實(shí)現(xiàn)基于顏色的目標(biāo)識(shí)別,即讓攝像頭識(shí)別到視野范圍內(nèi)的有顏色的氣球并返回每個(gè)氣球的中心點(diǎn)坐標(biāo),感興趣的可以跟隨小編學(xué)習(xí)一下2022-01-01
Python使用scipy模塊實(shí)現(xiàn)一維卷積運(yùn)算示例
這篇文章主要介紹了Python使用scipy模塊實(shí)現(xiàn)一維卷積運(yùn)算,結(jié)合實(shí)例形式分析了scipy模塊的功能及使用scipy模塊進(jìn)行一維卷積運(yùn)算的相關(guān)操作技巧,需要的朋友可以參考下2019-09-09
python3使用python-redis-lock解決并發(fā)計(jì)算問題
本文主要介紹了python3使用python-redis-lock解決并發(fā)計(jì)算問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10

