網站首頁 編程語言 正文
初識條件判斷(邏輯判斷)
邏輯判斷與邏輯語句
什么是邏輯判斷? —> 對于一件事情的正確與否的判斷,即 真假的判斷;在 python 中,我們使用 bool 類型來判斷真與假,對與錯。
什么是邏輯業務? —> 根據邏輯判斷的結果做不同的事情,就是我們需要做的邏輯業務。
什么是條件語句? —> 對于條件滿足的判斷語句,就是條件語句。
一個邏輯語句是由條件語句與業務語句組合而成的。
if 語句
if 語句的功能:判斷一個條件的真實性,如果條件結果為真(即True),則執行 if 的邏輯語句。
if 語句的用法:示例如下
if bool_result: # 語法塊 do # 業務代碼塊 , 這里需要注意縮進 # >>> bool_result : 判斷結果的真假,布爾類型。 # >>> do : 如果 bool_result 為 Treu 時執行的業務代碼塊。 # >>> if 屬于關鍵字,沒有返回值 man = 'Neo' if man == 'Neo': print('這個男人的名字叫:', man) # 執行結果如下: # >>> 這個男人的名字叫: Neo man = 'Neo' if man == 'Neo': print('這個男人的真實名字叫:', man.replace('Neo', 'Jack')) # 執行結果如下: # >>> 這個男人的真實名字叫: Jack
關于邏輯判斷應用的總結
如果要實現一個復雜的功能程序,邏輯判斷必不可少。而對于剛接觸編程的伙伴來說掌握不好邏輯判斷很難進行后續編程,所以為大家再次總結邏輯判斷的定義,幫助大家更好的理解與應用。
什么是邏輯判斷?—> 所謂的邏輯判斷就是在一個程序中要對判斷的語句進行真與假的結果判定,邏輯判斷結果的最基本標準是布爾類型。布爾類型只有兩個值:True和False,在Python語言中對應的是1和0。
看下面的示例:
name = '小明' if name == '小明': name = '小紅' print(name) # 執行結果如下: # >>> 小紅
代碼釋義:在程序中, 如果name等于 “小明”,則程序會做相應的邏輯處理,把 name 改成 “小紅”。并打印 “小紅” ,如果 name 不等于 “小紅”,則程序跳出 if 判斷之后去打印 name 。結果輸出發現 name 的變量值變成了 “小紅”,代表這個判斷是 True ,所以會走到 if 語句下面的代碼塊。
if … else … 語句
關于 if 語句 我們知道了它是判斷一個條件的真實性,如果條件結果為真(即True),則執行 if 的邏輯語句,是條件為真代碼塊的入口。else 則與之相反。
else 語句功能:對于 if 條件不滿足的時候,執行另一個條件的代碼塊的入口。
else 語句的用法:示例如下
if bool_result: # 語法塊 do # 業務代碼塊 , 這里需要注意縮進 else: elsedo # else 語法塊,需要縮進;縮進等級與 do 語法塊一致 # >>> bool_result : 判斷結果的真假,布爾類型。 # >>> elsedo : else 語句對應的 python 代碼塊。 # >>> else 屬于語法,沒有返回值 # ************************************************************* sleep_time = '22點' if sleep_time != '22點': print('還沒到 ', sleep_time, '可以再來一局王者農藥。') else: print('已經 ', sleep_time, '了,該睡覺了。') # >>> 執行結果如下: # >>> 已經 22點 了,該睡覺了。
elif 語句
什么是 elif ?—> elif(或者如果)對于條件的非第一次的多種判斷,每一種判斷條件都對應著一組業務代碼。
elif 語句的功能:對于首次的 if 語句判斷不滿足后,其他條件的判斷語句。
elif 語句的用法:示例如下
if bool_result: # 語法塊 do # 業務代碼塊 , 這里需要注意縮進 elif bool_result: elifdo # 當前 elif 語句對應的語法塊 elif bool_result: elifdo # 縮進等級與 do 語法塊一致 else: elsedo # else 語法塊,需要縮進;縮進等級與 do 語法塊一致 # >>> elifdo : elif 語句對應的 python 代碼塊。 # >>> elif 屬于語法,沒有返回值 new_time = input('請輸入時間:') if new_time=='7點': print(new_time, '了,該起床了。') elif new_time=='8點': print(new_time, '了,該吃早飯了') elif new_time=='12點': print(new_time, '了,該吃午飯了') elif new_time=='18點': print(new_time, '了,該吃晚飯了') elif new_time=='22點': print(new_time, '了,該睡覺了') else: print('該干啥干啥')
關于條件判斷的條件嵌套
在條件判斷的程序中,條件判斷也可以新的條件判斷語句,這就形成了條件嵌套結構,如下所示:
1.程序首先判斷條件 1 是否為真
2.如果條件 1 為真,則判斷條件 2 是否為真
- 條件 1 為真并且條件 2 為真,執行代碼塊 1
- 條件 1 為真并且條件 2 為假,執行代碼塊 2
3.如果條件 1 為假,則判斷條件 3 是否為真
- 條件 1 為假并且條件 3 為真,執行代碼塊 3
- 條件 1 為假并且條件 3 為假,執行代碼塊 4
示例如下:
sex = input('請輸入性別(man/woman):') age = int(input('請輸入年齡:')) 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
經過第 3 行的條件判斷 sex == man 和 第 9 行的條件判斷 age > 60
- 執行第 12 行的語句
- 輸出 young man
條件語句的總結
- 條件語句滿足一個條件后,將退出當前的條件語句。
- 每個條件語句中,僅有且必須有一個 if 語句,可以有0個或多個 elif 語句,也可以有 0 個或者 1 個 else 語句。
- 每個條件語句 if 必須是第一個條件語句
關于條件語句的小練習
需求 - 下面是某城市出租車收費標準:
起步價13元,3公里以內收費13元;
超過3公里,基本單價2.3元/公里;
超過10公里,基本單價加收20%的費用,即2.76元/公里;
燃油附加費1元/次;
根據該標準編寫出租車的計費程序。
示例如下:
kilometer = float(input('請輸入公里數:')) # 獲取公里數 Fuel_oil_price = 1 # 燃油附加費 start_price = 13 # 起步價 price = 0 # 初始化費用 if kilometer <= 3: price = start_price + Fuel_oil_price print('收費 %s 元' % price) elif 3 < kilometer <= 10: price = 2.3 * kilometer + Fuel_oil_price print('收費 %s 元' % price) else: price = 2.76 * kilometer + Fuel_oil_price print('收費 {} 元'.format(price))
原文鏈接:https://blog.csdn.net/weixin_42250835/article/details/123285559
相關推薦
- 2023-04-11 pandas中實現將相同ID的字符串進行合并_python
- 2022-03-15 linux系統中計劃任務介紹_Linux
- 2022-04-28 postman測試接口各種類型傳值的實現_相關技巧
- 2022-02-01 使用 file_get_contents 獲取網站信息報錯failed to open stream
- 2022-09-12 shell腳本5種執行方式及腳本不同的執行方法和區別詳解_linux shell
- 2022-07-26 Python基礎之模塊詳解_python
- 2022-04-25 C#使用NPOI實現Excel導入導出功能_C#教程
- 2022-05-08 關于PyQt5中QtGui.QImage圖片顯示問題解析_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支