1. 程式人生 > 程式設計 >詳解Python流程控制語句

詳解Python流程控制語句

流程控制

  1. 流程:程式碼執行的過程
  2. 控制:對程式碼執行過程的把控

三大結構

  • 順序結構:程式碼預設從上到下,依次執行
  • 分支結構:單項分支,雙向分支,多項分支,巢狀分支
  • 迴圈結構:while迴圈和for迴圈

單項分支

語句:

if 條件表示式:
code1
code2

當條件表示式成立時,返回True,執行對應的程式碼塊

job = "programmer"
if job == "programmer":
   print("錢多")
   print("話少")
   print("*的早")

雙向分支(二選一)

語句:

if 條件表示式:
code1 ..

else:
code2 ...

  • 如果條件表示式成立,執行if這個區間的程式碼塊
  • 如果條件表示式不成立,返回False,執行else這個區間的程式碼塊
job = "programmer"
if job == "programmer":
   print("錢多")
   print("話少")
   print("*的早")
else:
   print("給你小紅花兒~")

多項分支(多選一)

語句:

if 條件表示式1:
code1
elif 條件表示式2:
code2
elif 條件表示式3:
code3
else:
code4

  • 如果條件表示式1成立,執行對應分支的程式碼塊code1,反之則判斷條件表示式2是否成立
  • 如果條件表示式2成立,執行對應分支的程式碼塊code2,反之則判斷條件表示式3是否成立
  • 如果條件表示式3成立,執行對應分支的程式碼塊code3,反之則執行else分支,到此程式執行完畢
money = False
car = False
house = False
if money == True:
   print("你是土豪麼???")
elif car == True:
   print("你是有一輛蹦蹦嘛???")
elif house == True:
   print("你是什麼房子啊?")
else:
   print("你是個好人~")

巢狀分支

單項分支,多項分支的互相巢狀組合

money = False
car = True
house = True
if money == True:
   print("你是土豪麼???")
   if house == True:
      print("你是什麼房子啊?")
      if car == True:
         print("你是有一輛蹦蹦嘛???")
      else:
         print("其實還可以~")
   else:
      print("感覺差點意思~")
else:
   print("你是個好人~")

迴圈結構

特點:

減少冗餘程式碼,提升程式碼執行效率

語法:

while 條件表示式:
code1

書寫三部曲

  • 初始化一個變數
  • 書寫迴圈條件
  • 新增自增/自減的值

案例1

# 列印1~100所有數字
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)

死迴圈

while True:
   print("死迴圈")

關鍵字的使用

pass(程式碼塊中的佔位符)

while True:
   pass

break(終止當前迴圈)

# 1~10,遇到5終止迴圈
i = 1
while i <= 10:
   print(i)
   if i == 5:
      break
   i += 1

container(跳過當前迴圈)

# 列印1~100中不含4的數字
i = 1
while i <= 100:
   strvar = str(i)
   if "4" in strvar:
      i += 1
      continue
   print(i)
   i += 1

for迴圈

迴圈/遍歷/迭代,把容器中的元素一個個取出來

while的侷限性

# Error
# setvar = {"a","b","c"}
# i = 0
# while i < len(setvar):
   # print(setvar[i])
   # i+=1

for迴圈的基本語法

for 變數 in Iterable:
code1

Iterable

Iterable可迭代性資料

  1. 容器型別資料
  2. range物件
  3. 迭代器

range

range(開始值,結束值,步長)
區間為[開始值,結束值),為左閉右開區間,右邊的結束值取不到

總結

  • while:一般用於處理複雜的邏輯關係
  • for:一般用於迭代資料
  • 部分情況下兩個迴圈可以互相轉換

以上就是詳解Python流程控制語句的詳細內容,更多關於Python流程控制語句的資料請關注我們其它相關文章!