分支語句可分為單分支、二分支和多分支結構,在所有分支中,只能選擇其中一條路徑,根據分支條件成立與否決定是否執行。由於只能選擇一條路徑執行,所以應充分考慮分支語句的條件的設立規則。下面由幾個實例來說明分支語句的用法。
單一分支結構是最簡單的一種選擇結構,語法結構如下:
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。分支語句中,僅當條件成立的時候才執行,否則不執行交換,直接順序執行分支語句之後的語句。
二分支結構在單分支結構的基礎上增加了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語句不需要做判斷,所以效率更高。
多分支結構是二分支結構的擴展,即多選一的情況,其中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分支語句用法包括:的詳細內容。更多資訊請關注PHP中文網其他相關文章!