前言
還有多少人不會python的控制結構,在評論區告訴我,讓我一個個點名提問,今天,就教會你python的控制結構…
分行與縮進
分行
?一條陳述句占用一行
?過長的陳述句可以占用多行,使用\或()控制換行
?[]、{}、()可以直接跨越多行,在串列、字典、元組中需要換行的時候也可以不用添加續行符
a = 1 b = 2 c =a +b income = (gross_wages +taxable_interest - ira_deduction)

縮進
?四個英文空格
?同一代碼塊的陳述句縮進長度要相等
?源檔案的第一行不需要縮進
python學習交流Q群:906715085### if 條件運算式: 執行陳述句 ...... else: 執行陳述句1 ......
順序結構
?按照從上到下的順序,一條陳述句一條陳述句的執行
?最基本的結構
?代碼自上而下,依次執行
?按照解決問題的順序寫出相應的陳述句即可
開始
把冰箱門打開
把大象裝冰箱
把冰箱門關上
結束

選擇結構
根據判斷再執行決定內容
?使用if…else…陳述句表示
把冰箱門打開 if 大象能裝入: 把大象裝冰箱 else: 去找一個更大的冰箱 把冰箱們關上
?通過一潭訓多條陳述句的執行結果(True或False)來決定執行的代碼塊
?基本形式為if…else…陳述句
?if條件陳述句與else后均有冒號
?陳述句都要在if和else陳述句之后的代碼塊要縮進
?判斷條件常用>、<、==、>=、<=
?判斷條件為真時,執行代碼塊1
?判斷條件不成立時,執行代碼塊2

單分支、雙分支、多分支結構
單分支
?只有一個if陳述句
?如果條件正確就執行一個單向if陳述句
?當且僅當條件為True時,才執行對應的操作
if salary >= 10000: print("I am Happy!")
雙分支
?if-else陳述句根據判斷條件真偽決定執行哪個動作
?如果判斷條件為True時,則執行if陳述句下的代碼塊
?如果判斷條件為False時,執行else陳述句下的代碼塊
if salary >= 10000: print("I am Happy") else: print("I am Fine!")

多分支
?實作更精細的條件判斷
?elif是else if 的縮寫,可以有多個elif
?elif是更精細的判斷條件,并且以冒號結束
?條件判斷從上到下匹配,當滿足條件時執行對應的塊內陳述句,后續的elif和else都不再執行
?此時要注意條件順序
if salary >= 10000: print ("happy") elif salary >= 5000: print("ok") else: print("sad")
回圈結構
while回圈
?只要條件滿足,就一直回圈
?在某條件下,回圈執行某段程式,用于處理重復相同的任務
?while陳述句后有冒號
?判斷條件為真時,執行代碼塊1,代碼需要縮進
?判斷條件為假時,執行代碼塊2,代碼應取消縮進
?注意防止死回圈產生
while 判斷條件: 代碼塊1 代碼塊2

for-in回圈
?方法1:使用range()函式
?for陳述句最后有冒號
?回圈中的陳述句需要縮進
?range()函式可創建一個整數串列,一般與for回圈結合使用
range(start, end, step=1) range(5): 0,1,2,3,4 沒有5 range(1,5):1,2,3,4 沒有5 range(1,5,2): 1,3
?for 變數名 in range(5)
patients = ["Alice","Bob","Cathy","Eric"] for index in range(len(patients)): print(index,patients[index]) 結果: 0 Alice 1 Bob 2 Cathy 3 Eric
?方法2:使用序列項迭代串列物件
?直接把序列中的每個元素迭代出來
?for陳述句最后要有冒號
?回圈中的陳述句需要縮進
?把每個元素代入變數x,然后執行縮進的代碼塊
for x in sequence 代碼塊 patients = {"Alice","Bob","Cathy","Eric"} for patient_name in patients: print(patient_name) 結果: Alice Bob Cathy Eric
?方法3:使用列舉函式迭代序列物件
for index,x in enumerate(sequence): 代碼塊
?enumerate()函式將序列物件轉換為一個索引序列,并回傳序列物件的索引和元素
?Index為回傳的索引計數(從0開始)
?x為回傳的序列元素
patients = ["Alice","Bob","Cathy","Eric"] for index,patient_name in enumerate(patients): print(index,patient_name) 結果: 0 Alice 1 Bob 2 Cathy 3 Eric
break&continue
break
?用在while和for回圈中
?用于提前退出回圈
?通常配合if陳述句使用
continue
?用于while和for回圈
?跳過當前的這次回圈,直接開始下一次回圈
?通常配合if陳述句使用
不要濫用break和continue陳述句
?break和continue會造成代碼執行邏輯分叉過多,容易出錯
?大多數回圈并不需要用到break和continue陳述句
如果代碼寫的有問題,會讓程式陷入”死回圈“,可以使用Ctrl+C退出程式,或者強制結束python行程
最后
今天的分享到這里就結束了,喜歡的記得點贊收藏,下一章見啦!!!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/494143.html
標籤:Python
