程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【Python】控制結構,這個教程一般人我不給

編輯:Python

前言

還有多少人不會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進程

最後

今天的分享到這裡就結束了,喜歡的記得點贊收藏,下一章見啦!!!!


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved