Python?分支結(jié)構(gòu)詳解
一、分支結(jié)構(gòu)
為了限定用戶正規(guī)操作,也為了更好的控制程序的邏輯,必須在適當(dāng)時引入條件結(jié)構(gòu)。
Python 條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True 或者 False)來決定執(zhí)行的代碼塊。
可以通過下圖來簡單了解條件語句的執(zhí)行過程:

二、單分支結(jié)構(gòu)
單分支結(jié)構(gòu)邏輯是最簡單的分支結(jié)構(gòu),語法格式如下:
if 條件表達(dá)式:
代碼塊
根據(jù)語法格式?jīng)Q定的執(zhí)行流程:如果“if”關(guān)鍵詞后棉的條件表達(dá)式成立,則執(zhí)行與if有縮進(jìn)結(jié)構(gòu)的結(jié)構(gòu)體代碼段,反之條件表達(dá)式就不執(zhí)行語法格式下的代碼段。
三、雙分支結(jié)構(gòu)
雙分支結(jié)構(gòu)是在原來的單分支結(jié)構(gòu)基礎(chǔ)上,除條件為真時做一些事情外,條件為假時還需要繼續(xù)去做一些事情的分支結(jié)構(gòu)邏輯,其語法
結(jié)構(gòu)如下:
if 條件表達(dá)式:
代碼塊1
else :
代碼塊2
執(zhí)行流程為:如果條件表達(dá)式成立,則執(zhí)行if塊中的代碼,否則執(zhí)行else塊中的代碼。
四、多分支結(jié)構(gòu)
多分支結(jié)構(gòu)和雙分支結(jié)構(gòu)都是對一個條件作出的兩種判斷,若存在多個條件時,就需要多分支結(jié)構(gòu)。
其語法結(jié)構(gòu)如下:
if 條件表達(dá)式1 :
代碼塊1
elif 條件表達(dá)式2 :
代碼塊2
else :
代碼塊3
執(zhí)行流程:如果表達(dá)式1為Ture則表明條件表達(dá)式1成立,執(zhí)行if語句塊的代碼,執(zhí)行完不再執(zhí)行后面的elif中的代碼塊:如果if后面條件表達(dá)式1不成立即值為False,則判斷條件表達(dá)式2是否成立;如果條件表達(dá)式2成立則執(zhí)行代碼塊2,如果所有的if和elif都不成立,則執(zhí)行else。
注意:
- 1、每個條件和else后面要使用冒號 :,表示接下來是滿足條件后要執(zhí)行的語句塊。
- 2、使用縮進(jìn)來劃分語句塊,相同縮進(jìn)數(shù)的語句在一起組成一個語句塊。
- 3、在Python中沒有switch – case語句。
五、嵌套分支結(jié)構(gòu)
在嵌套 if 語句中,可以把 if…elif…else 結(jié)構(gòu)放在另外一個if…elif…else 結(jié)構(gòu)中。
if 表達(dá)式1:
語句
if 表達(dá)式2:
語句
elif 表達(dá)式3:
語句
else:
語句
elif 表達(dá)式4:
語句
else:
語句
下面用經(jīng)典的闖關(guān)游戲來說明嵌套結(jié)構(gòu)。第一關(guān)問你一個問題,答對了,第一關(guān)闖關(guān)結(jié)束,100萬元夢想基金拿到手。再答第二題,第二題回答正確,第二關(guān)闖關(guān)結(jié)束,1000萬元夢想基金拿到手。再答第三題,第三題回答正確,第三關(guān)闖關(guān)結(jié)束,10000萬元夢想基金拿到手。每一關(guān)回答正確后都可選擇是否進(jìn)入下一關(guān),如果否,則得到這些夢想基金,如果是進(jìn)入下一關(guān),如果回答錯誤,夢想基金清零。
具體代碼如下:
input("確定開始挑戰(zhàn)嗎?")
first = input("第一題:1+1=?")
if first == "2" :
? ? ok = input("恭喜你答對了,你獲得了100萬的夢想基金,確定要繼續(xù)嗎?(y/n)")
? ? if ok == "y" :
? ? ? ? second = input("第二題:2+2=?")
? ? ? ? if second == "4" :
? ? ? ? ? ? ok1 = input("恭喜你答對了,你獲得了1000萬的夢想基金,確定要繼續(xù)嗎?(y/n)")
? ? ? ? ? ? if ok1 == "y" :
? ? ? ? ? ? ? ? third = input("第三題:3+3=?")
? ? ? ? ? ? ? ? if third == "6" :
? ? ? ? ? ? ? ? ? ? print("恭喜你答對了,你獲得了10000萬的夢想基金,游戲結(jié)束。")
? ? ? ? ? ? ? ? else:print("游戲結(jié)束!你獲得了0元夢想基金。")
? ? ? ? ? ? else:print("游戲結(jié)束!你獲得了1000萬夢想基金。")
? ? ? ? else:print("游戲結(jié)束!你獲得了0元夢想基金。")
? ? else: print("游戲結(jié)束!你獲得了100萬夢想基金。")
else: print("游戲結(jié)束!你獲得了0元夢想基金。")運(yùn)行結(jié)果如下:

六、三元表達(dá)式
分支結(jié)構(gòu)邏輯的常用的就是一種條件表達(dá)式來判斷真假的雙分支結(jié)構(gòu),其有一種簡單的寫法,叫做三元表達(dá)式,結(jié)構(gòu)如下:
語句1 if 條件表達(dá)式 else 語句2
1
如果if后邊的表達(dá)式成立,則執(zhí)行語句1;如果if后面的條件表達(dá)式不成立,則執(zhí)行語句2。
七、條件測試
每條if語句的核心都是一個值為Ture或False的表達(dá)式,這種表達(dá)式被稱為條件測試,也可叫條件表達(dá)式。而分支邏輯結(jié)構(gòu)可以說就是條件測試加上順序結(jié)構(gòu)的語句構(gòu)成,條件測試的重要性也是不可忽視的。
常用的條件測試如下:
- 檢查變量的值是不是等于某個值,==
- 檢查是否相等時不考慮大小寫,Python要區(qū)分大小寫
- 檢查是否不相等,!=
- 比較數(shù)字
到此這篇關(guān)于Python 分支結(jié)構(gòu)詳解的文章就介紹到這了,更多相關(guān)Python 分支結(jié)構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python讀取sqlite數(shù)據(jù)庫文件的方法分析
這篇文章主要介紹了Python讀取sqlite數(shù)據(jù)庫文件的方法,結(jié)合實例形式分析了Python引入sqlite3模塊操作sqlite數(shù)據(jù)庫的讀取、SQL命令執(zhí)行等相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
PyTorch中的參數(shù)類torch.nn.Parameter()詳解
這篇文章主要給大家介紹了關(guān)于PyTorch中torch.nn.Parameter()的相關(guān)資料,要內(nèi)容包括基礎(chǔ)應(yīng)用、實用技巧、原理機(jī)制等方面,文章通過實例介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02
Python內(nèi)置模塊hashlib、hmac與uuid用法分析
這篇文章主要介紹了Python內(nèi)置模塊hashlib、hmac與uuid用法,結(jié)合實例形式較為詳細(xì)的分析了hashlib、hmac與uuid模塊的概念、功能及簡單使用方法,需要的朋友可以參考下2018-02-02
用Python中的__slots__緩存資源以節(jié)省內(nèi)存開銷的方法
這篇文章主要介紹了用Python中的__slots__通過緩存資源的方式以節(jié)省內(nèi)存開銷的方法,且示例代碼非常簡單,需要的朋友可以參考下2015-04-04

