網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
初識(shí)條件判斷(邏輯判斷)
邏輯判斷與邏輯語(yǔ)句
什么是邏輯判斷? —> 對(duì)于一件事情的正確與否的判斷,即 真假的判斷;在 python 中,我們使用 bool 類型來(lái)判斷真與假,對(duì)與錯(cuò)。
什么是邏輯業(yè)務(wù)? —> 根據(jù)邏輯判斷的結(jié)果做不同的事情,就是我們需要做的邏輯業(yè)務(wù)。
什么是條件語(yǔ)句? —> 對(duì)于條件滿足的判斷語(yǔ)句,就是條件語(yǔ)句。
一個(gè)邏輯語(yǔ)句是由條件語(yǔ)句與業(yè)務(wù)語(yǔ)句組合而成的。
if 語(yǔ)句
if 語(yǔ)句的功能:判斷一個(gè)條件的真實(shí)性,如果條件結(jié)果為真(即True),則執(zhí)行 if 的邏輯語(yǔ)句。
if 語(yǔ)句的用法:示例如下
if bool_result: # 語(yǔ)法塊 do # 業(yè)務(wù)代碼塊 , 這里需要注意縮進(jìn) # >>> bool_result : 判斷結(jié)果的真假,布爾類型。 # >>> do : 如果 bool_result 為 Treu 時(shí)執(zhí)行的業(yè)務(wù)代碼塊。 # >>> if 屬于關(guān)鍵字,沒(méi)有返回值 man = 'Neo' if man == 'Neo': print('這個(gè)男人的名字叫:', man) # 執(zhí)行結(jié)果如下: # >>> 這個(gè)男人的名字叫: Neo man = 'Neo' if man == 'Neo': print('這個(gè)男人的真實(shí)名字叫:', man.replace('Neo', 'Jack')) # 執(zhí)行結(jié)果如下: # >>> 這個(gè)男人的真實(shí)名字叫: Jack
關(guān)于邏輯判斷應(yīng)用的總結(jié)
如果要實(shí)現(xiàn)一個(gè)復(fù)雜的功能程序,邏輯判斷必不可少。而對(duì)于剛接觸編程的伙伴來(lái)說(shuō)掌握不好邏輯判斷很難進(jìn)行后續(xù)編程,所以為大家再次總結(jié)邏輯判斷的定義,幫助大家更好的理解與應(yīng)用。
什么是邏輯判斷?—> 所謂的邏輯判斷就是在一個(gè)程序中要對(duì)判斷的語(yǔ)句進(jìn)行真與假的結(jié)果判定,邏輯判斷結(jié)果的最基本標(biāo)準(zhǔn)是布爾類型。布爾類型只有兩個(gè)值:True和False,在Python語(yǔ)言中對(duì)應(yīng)的是1和0。
看下面的示例:
name = '小明' if name == '小明': name = '小紅' print(name) # 執(zhí)行結(jié)果如下: # >>> 小紅
代碼釋義:在程序中, 如果name等于 “小明”,則程序會(huì)做相應(yīng)的邏輯處理,把 name 改成 “小紅”。并打印 “小紅” ,如果 name 不等于 “小紅”,則程序跳出 if 判斷之后去打印 name 。結(jié)果輸出發(fā)現(xiàn) name 的變量值變成了 “小紅”,代表這個(gè)判斷是 True ,所以會(huì)走到 if 語(yǔ)句下面的代碼塊。
if … else … 語(yǔ)句
關(guān)于 if 語(yǔ)句 我們知道了它是判斷一個(gè)條件的真實(shí)性,如果條件結(jié)果為真(即True),則執(zhí)行 if 的邏輯語(yǔ)句,是條件為真代碼塊的入口。else 則與之相反。
else 語(yǔ)句功能:對(duì)于 if 條件不滿足的時(shí)候,執(zhí)行另一個(gè)條件的代碼塊的入口。
else 語(yǔ)句的用法:示例如下
if bool_result: # 語(yǔ)法塊 do # 業(yè)務(wù)代碼塊 , 這里需要注意縮進(jìn) else: elsedo # else 語(yǔ)法塊,需要縮進(jìn);縮進(jìn)等級(jí)與 do 語(yǔ)法塊一致 # >>> bool_result : 判斷結(jié)果的真假,布爾類型。 # >>> elsedo : else 語(yǔ)句對(duì)應(yīng)的 python 代碼塊。 # >>> else 屬于語(yǔ)法,沒(méi)有返回值 # ************************************************************* sleep_time = '22點(diǎn)' if sleep_time != '22點(diǎn)': print('還沒(méi)到 ', sleep_time, '可以再來(lái)一局王者農(nóng)藥。') else: print('已經(jīng) ', sleep_time, '了,該睡覺(jué)了。') # >>> 執(zhí)行結(jié)果如下: # >>> 已經(jīng) 22點(diǎn) 了,該睡覺(jué)了。
elif 語(yǔ)句
什么是 elif ?—> elif(或者如果)對(duì)于條件的非第一次的多種判斷,每一種判斷條件都對(duì)應(yīng)著一組業(yè)務(wù)代碼。
elif 語(yǔ)句的功能:對(duì)于首次的 if 語(yǔ)句判斷不滿足后,其他條件的判斷語(yǔ)句。
elif 語(yǔ)句的用法:示例如下
if bool_result: # 語(yǔ)法塊 do # 業(yè)務(wù)代碼塊 , 這里需要注意縮進(jìn) elif bool_result: elifdo # 當(dāng)前 elif 語(yǔ)句對(duì)應(yīng)的語(yǔ)法塊 elif bool_result: elifdo # 縮進(jìn)等級(jí)與 do 語(yǔ)法塊一致 else: elsedo # else 語(yǔ)法塊,需要縮進(jìn);縮進(jìn)等級(jí)與 do 語(yǔ)法塊一致 # >>> elifdo : elif 語(yǔ)句對(duì)應(yīng)的 python 代碼塊。 # >>> elif 屬于語(yǔ)法,沒(méi)有返回值 new_time = input('請(qǐng)輸入時(shí)間:') if new_time=='7點(diǎn)': print(new_time, '了,該起床了。') elif new_time=='8點(diǎn)': print(new_time, '了,該吃早飯了') elif new_time=='12點(diǎn)': print(new_time, '了,該吃午飯了') elif new_time=='18點(diǎn)': print(new_time, '了,該吃晚飯了') elif new_time=='22點(diǎn)': print(new_time, '了,該睡覺(jué)了') else: print('該干啥干啥')
關(guān)于條件判斷的條件嵌套
在條件判斷的程序中,條件判斷也可以新的條件判斷語(yǔ)句,這就形成了條件嵌套結(jié)構(gòu),如下所示:
1.程序首先判斷條件 1 是否為真
2.如果條件 1 為真,則判斷條件 2 是否為真
- 條件 1 為真并且條件 2 為真,執(zhí)行代碼塊 1
- 條件 1 為真并且條件 2 為假,執(zhí)行代碼塊 2
3.如果條件 1 為假,則判斷條件 3 是否為真
- 條件 1 為假并且條件 3 為真,執(zhí)行代碼塊 3
- 條件 1 為假并且條件 3 為假,執(zhí)行代碼塊 4
示例如下:
sex = input('請(qǐng)輸入性別(man/woman):') age = int(input('請(qǐng)輸入年齡:')) if sex == 'man': if age > 60: print('old man') else: print('young man') else: if age > 60: print('old woman') else: print('young woman')
首先,用戶輸入性別為 man
然后,用戶輸入年齡 20
經(jīng)過(guò)第 3 行的條件判斷 sex == man 和 第 9 行的條件判斷 age > 60
- 執(zhí)行第 12 行的語(yǔ)句
- 輸出 young man
條件語(yǔ)句的總結(jié)
- 條件語(yǔ)句滿足一個(gè)條件后,將退出當(dāng)前的條件語(yǔ)句。
- 每個(gè)條件語(yǔ)句中,僅有且必須有一個(gè) if 語(yǔ)句,可以有0個(gè)或多個(gè) elif 語(yǔ)句,也可以有 0 個(gè)或者 1 個(gè) else 語(yǔ)句。
- 每個(gè)條件語(yǔ)句 if 必須是第一個(gè)條件語(yǔ)句
關(guān)于條件語(yǔ)句的小練習(xí)
需求 - 下面是某城市出租車收費(fèi)標(biāo)準(zhǔn):
起步價(jià)13元,3公里以內(nèi)收費(fèi)13元;
超過(guò)3公里,基本單價(jià)2.3元/公里;
超過(guò)10公里,基本單價(jià)加收20%的費(fèi)用,即2.76元/公里;
燃油附加費(fèi)1元/次;
根據(jù)該標(biāo)準(zhǔn)編寫(xiě)出租車的計(jì)費(fèi)程序。
示例如下:
kilometer = float(input('請(qǐng)輸入公里數(shù):')) # 獲取公里數(shù) Fuel_oil_price = 1 # 燃油附加費(fèi) start_price = 13 # 起步價(jià) price = 0 # 初始化費(fèi)用 if kilometer <= 3: price = start_price + Fuel_oil_price print('收費(fèi) %s 元' % price) elif 3 < kilometer <= 10: price = 2.3 * kilometer + Fuel_oil_price print('收費(fèi) %s 元' % price) else: price = 2.76 * kilometer + Fuel_oil_price print('收費(fèi) {} 元'.format(price))
原文鏈接:https://blog.csdn.net/weixin_42250835/article/details/123285559
相關(guān)推薦
- 2022-07-20 react中事件處理與柯里化的實(shí)現(xiàn)_React
- 2022-06-12 超詳細(xì)分析C語(yǔ)言動(dòng)態(tài)內(nèi)存管理問(wèn)題_C 語(yǔ)言
- 2022-08-10 C#實(shí)現(xiàn)同步模式下的端口映射程序_C#教程
- 2021-12-03 Go并發(fā)編程中sync/errGroup的使用_Golang
- 2022-06-12 Docker容器中數(shù)據(jù)卷volumes的使用_docker
- 2023-08-13 常見(jiàn)的linux命令
- 2023-02-01 Python動(dòng)態(tài)演示旋轉(zhuǎn)矩陣的作用詳解_python
- 2022-08-27 解決react中useState狀態(tài)異步更新的問(wèn)題_React
- 最近更新
-
- 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)證過(guò)濾器
- 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)程分支