Python中的條件控制語(yǔ)句詳解
程序并非是一成不變的向下執(zhí)行,有的時(shí)候也要根據(jù)條件的不同選擇不一樣的代碼,這個(gè)時(shí)候便用到了分支結(jié)構(gòu)。那么到底如何讓程序根據(jù)條件的不同選擇不一樣的代碼呢?
我們一起來(lái)看下:
1. 分支選擇結(jié)構(gòu)
1.1 功能與語(yǔ)法
程序可以根據(jù)條件執(zhí)行不同的分支,程序結(jié)構(gòu)如下圖所示:

圖:條件選擇結(jié)構(gòu)
在圖中,對(duì)條件進(jìn)行判斷:
- 如果條件為真,執(zhí)行“條件為真的分支”
- 如果條件為假,執(zhí)行“條件為假的分支”
Python 提供了 if 條件控制語(yǔ)句用于選擇執(zhí)行流程,Python 的 if 語(yǔ)句的語(yǔ)法如下:
if 條件:
條件為真的分支
else:
條件為假的分支if 語(yǔ)句中可以省略 else 分支,語(yǔ)法如下;
if 條件:
條件為真的分支1.2 例子
例子 1,編寫(xiě)程序如下:
實(shí)例演示
if 2 > 1:
print('2 > 1 is true')
else:
print('2 > 1 is false')點(diǎn)擊 "運(yùn)行案例" 可查看在線運(yùn)行效果
- 在第 1 行,判斷條件 2 > 1 是否成立
- 在第 2 行,因?yàn)闂l件成立,執(zhí)行 print(‘2 > 1 is True’)
- 在第 3 行,因?yàn)闂l件不成立,不執(zhí)行 print(‘2 > 1 is False’)
程序 的輸出結(jié)果為:
2 > 1 is true
例子 2,編寫(xiě)程序 如下:
實(shí)例演示
if 1 == 1:
print('1 == 1 is true')- 1
- 2
點(diǎn)擊 "運(yùn)行案例" 可查看在線運(yùn)行效果
- 在第 1 行,判斷條件 1 == 1 是否成立
- 在第 2 行,因?yàn)闂l件成立,執(zhí)行 print(‘1 == 1 is True’)
程序 的輸出結(jié)果為:
1 == 1 is true
2. 多分支選擇結(jié)構(gòu)
2.1 功能與語(yǔ)法
程序可以根據(jù)多個(gè)條件的篩選執(zhí)行不同的分支,程序結(jié)構(gòu)如下圖所示:

在圖中,對(duì)多個(gè)條件進(jìn)行判斷:
- 如果條件 1 為真,則執(zhí)行代碼塊 1
- 如果條件 2 為真,則執(zhí)行代碼塊 2
- 如果條件 3 為真,則執(zhí)行代碼塊 3
- 如果以上條件都不滿足,則執(zhí)行代碼塊 4
Python 提供了 elif 語(yǔ)句用于選擇多個(gè)條件,Python 的 elif 語(yǔ)句的語(yǔ)法如下:
if 條件 1:
代碼塊 1
elif 條件 2:
代碼塊 2
elif 條件 3:
代碼塊 3
else:
代碼塊 4if 語(yǔ)句中可以省略 else 分支,語(yǔ)法如下;
if 條件 1:
代碼塊 1
elif 條件 2:
代碼塊 2
elif 條件 3:
代碼塊 32.2 例子
編寫(xiě)程序 如下:
實(shí)例演示
color = input()
if color == 'red':
print('color is red')
elif color == 'green':
print('color is green')
elif color == 'blue':
print('color is ')
else:
print('color is other')點(diǎn)擊 "運(yùn)行案例" 可查看在線運(yùn)行效果
- 在第 1 行,將用戶輸入的字符串保存在變量 color 中
- 在第 2 行,執(zhí)行條件判斷:color 是否等于 ‘red’,如果成立則執(zhí)行第 3 行對(duì)應(yīng)的分支
- 在第 4 行,執(zhí)行條件判斷:color 是否等于 ‘green’,如果成立則執(zhí)行第 5 行對(duì)應(yīng)的分支
- 在第 6 行,執(zhí)行條件判斷:color 是否等于 ‘blue’,如果成立則執(zhí)行第 7 行對(duì)應(yīng)的分支
- 在第 8 行,如果以上條件判斷都不成立,則執(zhí)行第 9 行對(duì)應(yīng)的分支
運(yùn)行程序,結(jié)果如下:
C:\> python select.py
green
color is green
- 程序運(yùn)行時(shí),輸入字符串 green
- 滿足程序第 4 行的條件判斷,輸出結(jié)果為 color is green
再次運(yùn)行程序,結(jié)果如下:
C:\> python select.py
yellow
yellow is other
- 程序運(yùn)行時(shí),輸入字符串 yellow
- 第 2 行、第 4 行、第 6 行的條件判斷均不成功,執(zhí)行第 9 行,輸出結(jié)果為 yellow is other
3. 分支嵌套結(jié)構(gòu)
3.1 功能與語(yǔ)法
在分支選擇程序中,分支也可以是分支選擇語(yǔ)句,形成分支嵌套結(jié)構(gòu),如下所示:

圖:分支嵌套結(jié)構(gòu)
程序首先判斷條件 1 是否為真
如果條件 1 為真,則判斷條件 2 是否為真
- 條件 1 為真并且條件 2 為真,執(zhí)行代碼塊 1
- 條件 1 為真并且條件 2 為假,執(zhí)行代碼塊 2
如果條件 1 為假,則判斷條件 3 是否為真
- 條件 1 為假并且條件 3 為真,執(zhí)行代碼塊 3
- 條件 1 為假并且條件 3 為假,執(zhí)行代碼塊 4
3.2 例子
編寫(xiě)程序 如下:
實(shí)例演示
sex = input()
age = int(input())
if sex == 'male':
if age > 50:
print('old male')
else:
print('young male')
else:
if age > 50:
print('old female')
else:
print('young female')點(diǎn)擊 "運(yùn)行案例" 可查看在線運(yùn)行效果
在第 1 行,用戶輸入性別 sex
在第 2 行,用戶輸入年齡 age,注意:使用函數(shù) int() 將用戶輸入的字符串轉(zhuǎn)換為整數(shù)
在第 3 行,判斷用戶性別
- 如果為真則執(zhí)行第 4 行的 if 語(yǔ)句
- 如果為假則執(zhí)行第 9 行的 if 語(yǔ)句
運(yùn)行程序 ,結(jié)果如下:
C:\> python nest.py
female
20
young female
首先,用戶輸入性別為 female
然后,用戶輸入年齡 20
經(jīng)過(guò)第 3 行的條件判斷 sex == male 和 第 9 行的條件判斷 age > 50
- 執(zhí)行第 12 行的語(yǔ)句
- 輸出 young female
總結(jié)
分支結(jié)構(gòu)在工作中可謂是基本每天都會(huì)寫(xiě),所以掌握分支結(jié)構(gòu)也就顯得非常重要。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python并發(fā)編程隊(duì)列與多線程最快發(fā)送http請(qǐng)求方式
假如有一個(gè)文件,里面有10萬(wàn)個(gè)url,需要對(duì)每個(gè)url發(fā)送http請(qǐng)求,并打印請(qǐng)求結(jié)果的狀態(tài)碼,如何編寫(xiě)代碼盡可能快的完成這些任務(wù)呢2021-09-09
python飛機(jī)大戰(zhàn)游戲?qū)嵗v解
在本篇文章里小編給大家整理的是一篇關(guān)于python飛機(jī)大戰(zhàn)游戲?qū)嵗v解,有興趣的朋友們可以參考下。2020-12-12
Python Celery多隊(duì)列配置代碼實(shí)例
這篇文章主要介紹了Python Celery多隊(duì)列配置代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
利用pyinstaller或virtualenv將python程序打包詳解
這篇文章主要給大家介紹了利用pyinstaller將python程序打包的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-03-03
Python語(yǔ)法學(xué)習(xí)之進(jìn)程的創(chuàng)建與常用方法詳解
本文我們將學(xué)習(xí)一下在?Python?中去創(chuàng)建并使用多進(jìn)程的方法,可以通過(guò)創(chuàng)建多個(gè)進(jìn)程來(lái)幫助我們提高腳本執(zhí)行的效率,感興趣的可以了解一下2022-04-04
對(duì)python中的 os.mkdir和os.mkdirs詳解
今天小編就為大家分享一篇對(duì)python中的 os.mkdir和os.mkdirs詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10

