網(wǎng)站首頁(yè) 編程語言 正文
前言
Python分支語句,也稱為選擇語句,體現(xiàn)了程序的選擇結(jié)構(gòu),即對(duì)應(yīng)不同的場(chǎng)景,選擇不同的處理方式。當(dāng)滿足某個(gè)條件的時(shí)候,進(jìn)行對(duì)應(yīng)的操作,不滿足則進(jìn)行其他的操作。
分支語句可分為單分支、二分支和多分支結(jié)構(gòu),在所有分支中,只能選擇其中一條路徑,根據(jù)分支條件成立與否決定是否執(zhí)行。由于只能選擇一條路徑執(zhí)行,所以應(yīng)當(dāng)充分考慮分支語句的條件的設(shè)立規(guī)則。下面由幾個(gè)實(shí)例來說明分支語句的用法。
一、單分支語句:if語句
單分支結(jié)構(gòu)是最簡(jiǎn)單的一種選擇結(jié)構(gòu),語法結(jié)構(gòu)如下:
if 條件表達(dá)式: 語句塊
當(dāng)條件表達(dá)式成立的時(shí)候,執(zhí)行語句塊,不成立則不執(zhí)行。例如:用戶輸入兩個(gè)數(shù),比較其大小,輸出小的一個(gè)。
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 #交換兩個(gè)數(shù) print("the smaller one is",num_a)
上例運(yùn)用單分支結(jié)構(gòu),當(dāng)數(shù)a大于數(shù)b的條件成立的時(shí)候,將兩者交換,最后輸出較小的數(shù)a。分支語句中,僅當(dāng)條件成立的時(shí)候才執(zhí)行,否則不執(zhí)行交換,直接順序執(zhí)行分支語句之后的語句。
二、二分支語句:if else語句
二分支結(jié)構(gòu)在單分支結(jié)構(gòu)的基礎(chǔ)上增加了else語句,當(dāng)if條件不成立時(shí),執(zhí)行else語句,語法結(jié)構(gòu)如下:
if 條件表達(dá)式: ????語句塊1 else: 語句塊2
二分支結(jié)構(gòu)是二選一的結(jié)構(gòu),語句塊1和語句塊2有且只有一個(gè)一定會(huì)被執(zhí)行到。
還是上面的例子,用二分支語句可以寫作:
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)
再如,根據(jù)身份證號(hào)碼判斷性別,可以寫作:
id_code = input('請(qǐng)輸入身份證號(hào)碼:') number = int(id_code[-2]) if number%2 == 0: print("女性") else: print("男性")
這里的else隱含條件是number%2 == 0
不成立,即number為奇數(shù),所以也可以將else換做if number%2 == 1
,但是從程序的執(zhí)行效率上考慮,兩個(gè)if語句需要執(zhí)行兩次判斷,而else語句不需要做判斷,所以效率更高。
三、多分支結(jié)構(gòu):if – elif – else語句
多分支結(jié)構(gòu)是二分支結(jié)構(gòu)的擴(kuò)展,即多選一的情況,其中else語句是可選的,當(dāng)else存在時(shí),有且只有一個(gè)分支會(huì)被執(zhí)行到。其語法結(jié)構(gòu)如下:
if 條件表達(dá)式1: 語句塊1 elif條件表達(dá)式2: 語句塊2 … elif條件表達(dá)式n: 語句塊n else: 語句塊n+1
例如讓用戶輸入身高體重,計(jì)算其BMI指數(shù)。BMI指身體質(zhì)量指數(shù),是用體重(kg)除以身高(m)的平方得到,有國(guó)際通用的衡量標(biāo)椎:
過輕 | 低于18.5**** |
---|---|
正常 | 18.5-25(不含) |
偏胖 | 25-30(不含) |
肥胖 | 30-35(不含) |
重度肥胖 | 35及以上 |
weight = float(input("請(qǐng)輸入你的體重(Kg):")) height = float(input("請(qǐng)輸入你的身高(m):")) BMI = weight / height ** 2 if BMI < 0: print("輸入錯(cuò)誤") elif BMI < 18.5 : print("偏瘦") elif BMI < 25 : print("正常") elif BMI < 30 : print("偏胖") elif BMI < 35 : print("肥胖") else: print("重度肥胖")
上例通過計(jì)算得到BMI指數(shù),根據(jù)其值輸出所對(duì)應(yīng)的“檔位”,因?yàn)樵谠O(shè)定分支條件時(shí)應(yīng)當(dāng)注意每個(gè)分支條件之間沒有重復(fù)區(qū)域,才能保證輸出結(jié)果為其中一種。
四、嵌套分支結(jié)構(gòu)
在分支語句中如果要做進(jìn)一步的條件判斷,就會(huì)用到嵌套的分支結(jié)構(gòu)。嵌套也可以有多層,通過縮進(jìn)來表示其包含關(guān)系。
代表性語法結(jié)構(gòu)如下:
if 條件表達(dá)式1: … if條件表達(dá)式2: 語句塊1 else: 語句塊2 else: 語句塊3
例如上例在做身份證號(hào)的性別判斷時(shí),如果要先對(duì)輸入的身份證號(hào)合法性做基本檢查,例如其位數(shù)是不是正確,則需要嵌套分支:
id_code = input('請(qǐng)輸入身份證號(hào)碼:') if len(id_code) == 18: number = int(id_code[-2]) if number%2 == 0: print("女性") else: print("男性") else: print("輸入不合法")
原文鏈接:https://juejin.cn/post/7085521075253018637
相關(guān)推薦
- 2022-07-16 new FileOutputStream(“data\\test2.txt“,true),true是
- 2023-07-07 sklearn.model_selection模塊介紹
- 2023-06-18 C#Process的OutputDataReceived事件不觸發(fā)問題及解決_C#教程
- 2022-11-20 golang?實(shí)現(xiàn)?pdf?轉(zhuǎn)高清晰度?jpeg的處理方法_Golang
- 2023-01-03 Android序列化實(shí)現(xiàn)接口Serializable與Parcelable詳解_Android
- 2022-10-28 go語言?nil使用避坑指南_Golang
- 2022-07-31 如何理解C++指針常量和常量指針_C 語言
- 2022-06-20 深入淺析C#?11?對(duì)?ref?和?struct?的改進(jìn)_C#教程
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支