Python基本結(jié)構(gòu)之判斷語(yǔ)句的用法詳解
邏輯控制
邏輯控制其實(shí)也就是判斷,判斷是非常重要的,無(wú)論是哪一門語(yǔ)言。沒(méi)有判斷那都是不完整的語(yǔ)言。因此判斷是非常重要的。
使用③種基本結(jié)構(gòu)就可以實(shí)現(xiàn)復(fù)雜算法,這其中就有循環(huán)、順序以及判斷。
在程序的設(shè)計(jì)當(dāng)中,代碼并不是逐步按照順序進(jìn)行執(zhí)行的,在運(yùn)行到某一行代碼當(dāng)中,需要停下進(jìn)行判斷接下來(lái)將要運(yùn)行到那一個(gè)分支代碼,這種判斷就代表的是分支結(jié)構(gòu)。
分支結(jié)構(gòu)是可以使用 if 語(yǔ)句來(lái)進(jìn)行判斷的,而我們本篇博客講的也是 if 語(yǔ)句。
在程序中可能會(huì)遇到需要循環(huán)出現(xiàn)的情況,例如輸入100次Python,那么此時(shí)就需要用到循環(huán)語(yǔ)句,我們不可能直接打印100次print,這個(gè)是極其沒(méi)有效率。所以,明顯是不能的。那么此時(shí)就要用到 while、for、range 等。
Python中的邏輯流程控制還包括跳出breal、繼續(xù)continue、遍歷range等語(yǔ)句后面也會(huì)詳細(xì)介紹這些流程控制語(yǔ)句的。
數(shù)字邏輯條件
在正式開始之前來(lái)說(shuō)說(shuō)數(shù)學(xué)當(dāng)中常用的邏輯條件,因?yàn)檫@些邏輯條件很多都會(huì)配合條件控制if 去使用。
等于:a == b
不等于:a != b
小于:a < b
小于等于:a <= b
大于:a > b
大于等于:a >= b
條件控制
條件控制語(yǔ)句在任何編程語(yǔ)言都是非常常用的。
流程圖如下↓
打個(gè)比方:就比方說(shuō)你今天早上起來(lái),昨天你學(xué)習(xí)了一整天,今天想要躺平,但是你看著別人都在那里卷,你又想要學(xué)習(xí)一整天。此時(shí)的你非常的猶豫,你在面前看到了一枚硬幣,你就想要扔色子。正面數(shù)字是學(xué)習(xí),反面?就躺平。那么在編程當(dāng)中你就要用到判斷語(yǔ)句if了。
接下來(lái)來(lái)寫下Python語(yǔ)句當(dāng)中 if 的表現(xiàn)形式,如下代碼所示
if 條件語(yǔ)句1:
執(zhí)行語(yǔ)句1
elif 條件語(yǔ)句:
執(zhí)行語(yǔ)句2
else:
執(zhí)行語(yǔ)句3
執(zhí)行過(guò)程如下
①→判斷條件語(yǔ)句 1 是否為 Ture(真),如果為 Ture 就執(zhí)行語(yǔ)句塊1,其它的語(yǔ)句塊并不會(huì)執(zhí)行。因此整個(gè)條件結(jié)構(gòu)語(yǔ)句執(zhí)行完畢。則繼續(xù)執(zhí)行其它的語(yǔ)句,如果條件語(yǔ)句1為False(假),則判斷條件語(yǔ)句2是否為真。
②→如果判斷條件語(yǔ)句2為 Ture 就執(zhí)行語(yǔ)句2,再執(zhí)行其它語(yǔ)句,如果為假,則直接執(zhí)行語(yǔ)句3,條件控制語(yǔ)句結(jié)束。
提示→冒號(hào)后面的語(yǔ)句塊何冒號(hào)所在的行的語(yǔ)句是要保持一個(gè)縮進(jìn)的。
if - 用法
Python 中的 if else 語(yǔ)句可以細(xì)分為三種形式,分別是 if 語(yǔ)句、if else 語(yǔ)句和 if elif else 語(yǔ)句。在上面我們已經(jīng)介紹了 if elif else,接下來(lái)來(lái)介紹 if() 這個(gè)也是最簡(jiǎn)單的判斷形式了。
流程圖如下↓
如果表達(dá)式成立(真),就執(zhí)行后面的代碼塊;如果表達(dá)式不成立(假),就什么也不執(zhí)行。那么不能光說(shuō)不練,那么就來(lái)做一道題目練習(xí)下。選擇結(jié)構(gòu)判斷用戶是否符合條件,示例代碼如下↓
num = int(input('請(qǐng)輸入你的年齡:')) if num < 18: print('你還不能去網(wǎng)吧!') print('年齡未滿18歲,才%d歲。'%num) print('歡迎光臨!')
運(yùn)行結(jié)果
請(qǐng)輸入你的年齡:14
你還不能去網(wǎng)吧!
年齡未滿18歲,才14歲。
歡迎光臨!
另一種情況的運(yùn)行結(jié)果。
請(qǐng)輸入你的年齡:18
歡迎光臨!
張三此時(shí)就有疑問(wèn)了,為什么輸入14還會(huì)歡迎光臨呢。
那么這種情況我們就要用到 if - else 或者 雙層 if 來(lái)解決了。
雙層 if 語(yǔ)句代碼示例↓
num = int(input('請(qǐng)輸入你的年齡:')) if num < 18: print('你還不能去網(wǎng)吧!') print('年齡未滿18歲,才%d歲。'%num) if num >= 18: print('歡迎光臨!')
請(qǐng)輸入你的年齡:14
你還不能去網(wǎng)吧!
年齡未滿18歲,才14歲。
這里使用雙層 if 語(yǔ)句是因?yàn)槲覀冞@里有兩層的判斷:
張三滿18歲的情況。
張三未滿18歲的情況。
if - else 用法
if - else 的表現(xiàn)形式,如下代碼所示
if 條件語(yǔ)句1:
執(zhí)行語(yǔ)句1
else:
執(zhí)行語(yǔ)句2
條件語(yǔ)句為真,執(zhí)行語(yǔ)句1。
條件語(yǔ)句為假,執(zhí)行語(yǔ)句2。
如果表達(dá)式成立,就執(zhí)行 if 后面緊跟的代碼塊1;如果表達(dá)式不成立,就執(zhí)行 else 后面緊跟的代碼塊2。
流程圖如下↓
下面舉出一個(gè)例子,輸入數(shù)字 判斷 number 是奇數(shù)還是偶數(shù)。如下代碼所示
number = int(input('請(qǐng)輸入數(shù)字...')) if number % 2 == 0: print('%d是偶數(shù)'%(number)) else: print('%d是奇數(shù)'%(number))
運(yùn)行結(jié)果
請(qǐng)輸入數(shù)字...12
12是偶數(shù)。
請(qǐng)輸入數(shù)字...11
11是奇數(shù)。
那么接著選擇結(jié)構(gòu)判斷用戶是否符合條件我們用 if else 的方法解決。代碼示例如下↓
num = int(input('請(qǐng)輸入你的年齡:')) if num < 18: print('你還不能去網(wǎng)吧!') print('年齡未滿18歲,才%d歲。'%num) else: print('歡迎光臨!')
運(yùn)行結(jié)果
請(qǐng)輸入你的年齡:14
你還不能去網(wǎng)吧!
年齡未滿18歲,才14歲。
條件語(yǔ)句為真,執(zhí)行語(yǔ)句1。不執(zhí)行 else 語(yǔ)句內(nèi)容。
if 嵌套
在我們開發(fā)程序當(dāng)中,會(huì)使用 if 進(jìn)行條件語(yǔ)句的判斷,那么假設(shè)我們希望在條件成立的執(zhí)行語(yǔ)句中在增加條件判斷。這個(gè)時(shí)候就可以使用 if 語(yǔ)句的嵌套了。
if 的嵌套的應(yīng)用場(chǎng)景就是:在之前條件滿足的情況下,再來(lái)額外的進(jìn)行判斷。
if 的嵌套語(yǔ)法格式,除了縮進(jìn)之外是沒(méi)有任何的區(qū)別的,語(yǔ)法格式如下所示↓
if 條件1:
滿足條件1執(zhí)行語(yǔ)句
...
if 條件1基礎(chǔ)上的條件2:
滿足條件2執(zhí)行語(yǔ)句
...
# 條件2不滿足情況
else:
條件2不滿足情況,執(zhí)行的代碼
# 條件1不滿足的情況
else:
條件1不滿足的情況執(zhí)行語(yǔ)句
這實(shí)際上就是在大的 if 語(yǔ)句 嵌套了一個(gè)小的 if 語(yǔ)句,上面這個(gè)多看下就理解了,有語(yǔ)言基礎(chǔ)的一遍就能懂了。都一樣的(@^0^)
練習(xí)題→猜數(shù)字小游戲
import random() 方法返回隨機(jī)生成的一個(gè)實(shí)數(shù)。建議要使用這里面的東西放到起始行第一行。
rand(起始數(shù),終止數(shù));功能隨機(jī)生成數(shù)字 0~32767之間。
如下代碼所示
import random # 生成隨機(jī)值 person = int(input('請(qǐng)輸入猜拳[0石頭,1剪刀,2布]:...')) computer = random.randint(0,2) # rand();功能隨機(jī)生成數(shù)字 0~32767之間 # 打印三種情況 # 人 贏了 if person == 0 and computer == 1: print('老鐵666') pass elif person == 1 and computer == 2: print('老鐵666') pass elif person == 2 and computer == 0: pass print('老鐵666') pass # 平手 elif person == computer: print('下次一定') pass # 輸了 else: print('不服再來(lái)')
運(yùn)行時(shí)候的三種情況
贏了:老鐵666
平手:下次一定
輸了:不服再來(lái)
說(shuō)明
"表達(dá)式"可以是一個(gè)單一的值或者變量,也可以是由運(yùn)算符組成的復(fù)雜語(yǔ)句,形式不限,只要它能得到一個(gè)值就行。不管“表達(dá)式”的結(jié)果是什么類型,if else 都能判斷它是否成立(真或者假)。
"代碼塊"由具由相同縮進(jìn)量的若干條語(yǔ)句組成。
if、elif、else 語(yǔ)句的最后都有冒號(hào):不要忘記。
到此這篇關(guān)于Python基本結(jié)構(gòu)之判斷語(yǔ)句的用法詳解的文章就介紹到這了,更多相關(guān)Python判斷語(yǔ)句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python利用yield?form實(shí)現(xiàn)異步協(xié)程爬蟲
這篇文章主要為大家詳細(xì)介紹了Python如何利用yield?form實(shí)現(xiàn)異步協(xié)程爬蟲。其實(shí)這是很古老的用法了,現(xiàn)在大多用的aiohttp庫(kù)實(shí)現(xiàn),這篇記錄僅僅用做個(gè)人的協(xié)程底層實(shí)現(xiàn)的學(xué)習(xí),希望對(duì)大家有所幫助2022-11-11python已協(xié)程方式處理任務(wù)實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了python已協(xié)程方式處理任務(wù)實(shí)現(xiàn)過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Python通過(guò)調(diào)用有道翻譯api實(shí)現(xiàn)翻譯功能示例
這篇文章主要介紹了Python通過(guò)調(diào)用有道翻譯api實(shí)現(xiàn)翻譯功能,結(jié)合實(shí)例形式分析了基于Python實(shí)現(xiàn)的有道翻譯api調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2018-07-07Python實(shí)現(xiàn)葵花8號(hào)衛(wèi)星數(shù)據(jù)自動(dòng)下載實(shí)例
這篇文章主要為大家介紹了Python實(shí)現(xiàn)葵花8號(hào)衛(wèi)星數(shù)據(jù)自動(dòng)下載實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10python 發(fā)送郵件的示例代碼(Python2/3都可以直接使用)
這篇文章主要介紹了python 發(fā)送郵件的示例代碼,并且Python2/3都可以直接使用,感興趣的朋友可以參考下2020-12-12Python?flask?sqlalchemy的簡(jiǎn)單使用及常用操作
這篇文章主要介紹了Python?flask?sqlalchemy的簡(jiǎn)單使用及常用操作,在python中,常用的ORM工具就是sqlalchemy了。下面就以一個(gè)簡(jiǎn)單的flask例子來(lái)說(shuō)明吧,需要的小伙伴可以參考一下2022-08-08python二分查找搜索算法的多種實(shí)現(xiàn)方法
二分查找,也稱折半查找,是一種效率較高的查找方法,本文主要介紹了python二分查找搜索算法的多種實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03