首頁 > 軟體

Python分支語句常見的使用方法

2022-06-08 22:02:09

前言

Python分支語句,也稱為選擇語句,體現了程式的選擇結構,即對應不同的場景,選擇不同的處理方式。當滿足某個條件的時候,進行對應的操作,不滿足則進行其他的操作。

分支語句可分為單分支、二分支和多分支結構,在所有分支中,只能選擇其中一條路徑,根據分支條件成立與否決定是否執行。由於只能選擇一條路徑執行,所以應當充分考慮分支語句的條件的設立規則。下面由幾個範例來說明分支語句的用法。

一、單分支語句:if語句

單分支結構是最簡單的一種選擇結構,語法結構如下:

if 條件表示式:
    語句塊

當條件表示式成立的時候,執行語句塊,不成立則不執行。例如:使用者輸入兩個數,比較其大小,輸出小的一個。

num_a = int(input('please input a number:'))
num_b = int(input('please input another number:'))
if num_a > num_b:
  num_a, num_b = num_b, num_a #交換兩個數
  print("the smaller one is",num_a)

上例運用單分支結構,當數a大於數b的條件成立的時候,將兩者交換,最後輸出較小的數a。分支語句中,僅當條件成立的時候才執行,否則不執行交換,直接順序執行分支語句之後的語句。

二、二分支語句:if else語句

二分支結構在單分支結構的基礎上增加了else語句,當if條件不成立時,執行else語句,語法結構如下:

if 條件表示式:
    語句塊1
else:
    語句塊2

二分支結構是二選一的結構,語句塊1和語句塊2有且只有一個一定會被執行到。

還是上面的例子,用二分支語句可以寫作:

num_a = int(input('please input a number:'))
num_b = int(input('please input another number:'))
if num_a > num_b:
  print("the smaller one is",num_b)
else:
  print("the smaller one is",num_a)

再如,根據身份證號碼判斷性別,可以寫作:

id_code = input('請輸入身份證號碼:')
number = int(id_code[-2])
if number%2 == 0:
  print("女性")
else:
  print("男性")

這裡的else隱含條件是number%2 == 0不成立,即number為奇數,所以也可以將else換做if number%2 == 1,但是從程式的執行效率上考慮,兩個if語句需要執行兩次判斷,而else語句不需要做判斷,所以效率更高。

三、多分支結構:if – elif – else語句

多分支結構是二分支結構的擴充套件,即多選一的情況,其中else語句是可選的,當else存在時,有且只有一個分支會被執行到。其語法結構如下:

if 條件表示式1:
  語句塊1
elif條件表示式2:
  語句塊2
…
elif條件表示式n:
  語句塊n
else:
  語句塊n+1

例如讓使用者輸入身高體重,計算其BMI指數。BMI指身體質量指數,是用體重(kg)除以身高(m)的平方得到,有國際通用的衡量標椎:

過輕低於18.5****
正常18.5-25(不含)
偏胖25-30(不含)
肥胖30-35(不含)
重度肥胖35及以上
weight = float(input("請輸入你的體重(Kg):"))
height = float(input("請輸入你的身高(m):"))
BMI = weight / height ** 2
if BMI < 0:
    print("輸入錯誤")    
elif BMI < 18.5 :
    print("偏瘦")
elif BMI < 25 :
    print("正常")
elif BMI < 30 :
    print("偏胖")
elif BMI < 35 :
    print("肥胖")
else:
    print("重度肥胖")

上例通過計算得到BMI指數,根據其值輸出所對應的“檔位”,因為在設定分支條件時應當注意每個分支條件之間沒有重複區域,才能保證輸出結果為其中一種。

四、巢狀分支結構

在分支語句中如果要做進一步的條件判斷,就會用到巢狀的分支結構。巢狀也可以有多層,通過縮排來表示其包含關係。

代表性語法結構如下:

if 條件表示式1:
  …
    if條件表示式2:
        語句塊1
    else:
        語句塊2
else:
  語句塊3

例如上例在做身份證號的性別判斷時,如果要先對輸入的身份證號合法性做基本檢查,例如其位數是不是正確,則需要巢狀分支:

id_code = input('請輸入身份證號碼:')
if len(id_code) == 18:
    number = int(id_code[-2])
    if number%2 == 0:
        print("女性")
    else:
        print("男性")
else:
    print("輸入不合法")

到此這篇關於Python分支語句常見的使用方法的文章就介紹到這了,更多相關Python分支語句內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com