詳解Python流程控制語(yǔ)句
流程控制
- 流程:代碼執(zhí)行的過(guò)程
- 控制:對(duì)代碼執(zhí)行過(guò)程的把控
三大結(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)分支
語(yǔ)句:
if 條件表達(dá)式:
code1
code2
當(dāng)條件表達(dá)式成立時(shí),返回True,執(zhí)行對(duì)應(yīng)的代碼塊
job = "programmer" if job == "programmer": print("錢多") print("話少") print("*的早")
雙向分支(二選一)
語(yǔ)句:
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)分支(多選一)
語(yǔ)句:
if 條件表達(dá)式1:
code1
elif 條件表達(dá)式2:
code2
elif 條件表達(dá)式3:
code3
else:
code4
- 如果條件表達(dá)式1成立,執(zhí)行對(duì)應(yīng)分支的代碼塊code1,反之則判斷條件表達(dá)式2是否成立
- 如果條件表達(dá)式2成立,執(zhí)行對(duì)應(yīng)分支的代碼塊code2,反之則判斷條件表達(dá)式3是否成立
- 如果條件表達(dá)式3成立,執(zhí)行對(duì)應(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("感覺(jué)差點(diǎn)意思~") else: print("你是個(gè)好人~")
循環(huán)結(jié)構(gòu)
特點(diǎn):
減少冗余代碼,提升代碼執(zhí)行效率
語(yǔ)法:
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(跳過(guò)當(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è)取出來(lái)
while的局限性
# Error # setvar = {"a", "b", "c"} # i = 0 # while i < len(setvar): # print(setvar[i]) # i+=1
for循環(huán)的基本語(yǔ)法
for 變量 in Iterable:
code1
Iterable
Iterable可迭代性數(shù)據(jù)
- 容器類型數(shù)據(jù)
- range對(duì)象
- 迭代器
range
range(開(kāi)始值,結(jié)束值,步長(zhǎng))
區(qū)間為[開(kāi)始值,結(jié)束值),為左閉右開(kāi)區(qū)間,右邊的結(jié)束值取不到
總結(jié)
- while:一般用于處理復(fù)雜的邏輯關(guān)系
- for:一般用于迭代數(shù)據(jù)
- 部分情況下兩個(gè)循環(huán)可以互相轉(zhuǎn)換
以上就是詳解Python流程控制語(yǔ)句的詳細(xì)內(nèi)容,更多關(guān)于Python流程控制語(yǔ)句的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python 畫二維、三維點(diǎn)之間的線段實(shí)現(xiàn)方法
今天小編就為大家分享一篇python 畫二維、三維點(diǎn)之間的線段實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07在Pytorch中使用樣本權(quán)重(sample_weight)的正確方法
今天小編就為大家分享一篇在Pytorch中使用樣本權(quán)重(sample_weight)的正確方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08Python基于whois模塊簡(jiǎn)單識(shí)別網(wǎng)站域名及所有者的方法
這篇文章主要介紹了Python基于whois模塊簡(jiǎn)單識(shí)別網(wǎng)站域名及所有者的方法,簡(jiǎn)單分析了Python whois模塊的安裝及使用相關(guān)操作技巧,需要的朋友可以參考下2018-04-04python偏函數(shù)的實(shí)例用法總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python偏函數(shù)的實(shí)例用法總結(jié)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。2021-07-07python+splinter實(shí)現(xiàn)12306網(wǎng)站刷票并自動(dòng)購(gòu)票流程
這篇文章主要為大家詳細(xì)介紹了python+splinter實(shí)現(xiàn)12306網(wǎng)站刷票并自動(dòng)購(gòu)票流程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Python+Kepler.gl實(shí)現(xiàn)時(shí)間輪播地圖過(guò)程解析
這篇文章主要介紹了Python+Kepler.gl實(shí)現(xiàn)時(shí)間輪播地圖過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Python為何不能用可變對(duì)象作為默認(rèn)參數(shù)的值
這篇文章主要介紹了Python為何不能用可變對(duì)象作為默認(rèn)參數(shù)的值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07