Python學(xué)習(xí)之流程控制與條件判斷總結(jié)
初識(shí)條件判斷(邏輯判斷)
邏輯判斷與邏輯語句
什么是邏輯判斷? —> 對(duì)于一件事情的正確與否的判斷,即 真假的判斷;在 python 中,我們使用 bool 類型來判斷真與假,對(duì)與錯(cuò)。
什么是邏輯業(yè)務(wù)? —> 根據(jù)邏輯判斷的結(jié)果做不同的事情,就是我們需要做的邏輯業(yè)務(wù)。
什么是條件語句? —> 對(duì)于條件滿足的判斷語句,就是條件語句。
一個(gè)邏輯語句是由條件語句與業(yè)務(wù)語句組合而成的。
if 語句
if 語句的功能:判斷一個(gè)條件的真實(shí)性,如果條件結(jié)果為真(即True),則執(zhí)行 if 的邏輯語句。
if 語句的用法:示例如下
if bool_result: # 語法塊 do # 業(yè)務(wù)代碼塊 , 這里需要注意縮進(jìn) # >>> bool_result : 判斷結(jié)果的真假,布爾類型。 # >>> do : 如果 bool_result 為 Treu 時(shí)執(zhí)行的業(yè)務(wù)代碼塊。 # >>> if 屬于關(guān)鍵字,沒有返回值 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ì)于剛接觸編程的伙伴來說掌握不好邏輯判斷很難進(jìn)行后續(xù)編程,所以為大家再次總結(jié)邏輯判斷的定義,幫助大家更好的理解與應(yīng)用。
什么是邏輯判斷?—> 所謂的邏輯判斷就是在一個(gè)程序中要對(duì)判斷的語句進(jìn)行真與假的結(jié)果判定,邏輯判斷結(jié)果的最基本標(biāo)準(zhǔn)是布爾類型。布爾類型只有兩個(gè)值:True和False,在Python語言中對(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 語句下面的代碼塊。
if … else … 語句
關(guān)于 if 語句 我們知道了它是判斷一個(gè)條件的真實(shí)性,如果條件結(jié)果為真(即True),則執(zhí)行 if 的邏輯語句,是條件為真代碼塊的入口。else 則與之相反。
else 語句功能:對(duì)于 if 條件不滿足的時(shí)候,執(zhí)行另一個(gè)條件的代碼塊的入口。
else 語句的用法:示例如下
if bool_result: # 語法塊 do # 業(yè)務(wù)代碼塊 , 這里需要注意縮進(jìn) else: elsedo # else 語法塊,需要縮進(jìn);縮進(jìn)等級(jí)與 do 語法塊一致 # >>> bool_result : 判斷結(jié)果的真假,布爾類型。 # >>> elsedo : else 語句對(duì)應(yīng)的 python 代碼塊。 # >>> else 屬于語法,沒有返回值 # ************************************************************* sleep_time = '22點(diǎn)' if sleep_time != '22點(diǎn)': print('還沒到 ', sleep_time, '可以再來一局王者農(nóng)藥。') else: print('已經(jīng) ', sleep_time, '了,該睡覺了。') # >>> 執(zhí)行結(jié)果如下: # >>> 已經(jīng) 22點(diǎn) 了,該睡覺了。
elif 語句
什么是 elif ?—> elif(或者如果)對(duì)于條件的非第一次的多種判斷,每一種判斷條件都對(duì)應(yīng)著一組業(yè)務(wù)代碼。
elif 語句的功能:對(duì)于首次的 if 語句判斷不滿足后,其他條件的判斷語句。
elif 語句的用法:示例如下
if bool_result: # 語法塊 do # 業(yè)務(wù)代碼塊 , 這里需要注意縮進(jìn) elif bool_result: elifdo # 當(dāng)前 elif 語句對(duì)應(yīng)的語法塊 elif bool_result: elifdo # 縮進(jìn)等級(jí)與 do 語法塊一致 else: elsedo # else 語法塊,需要縮進(jìn);縮進(jìn)等級(jí)與 do 語法塊一致 # >>> elifdo : elif 語句對(duì)應(yīng)的 python 代碼塊。 # >>> elif 屬于語法,沒有返回值 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, '了,該睡覺了') else: print('該干啥干啥')
關(guān)于條件判斷的條件嵌套
在條件判斷的程序中,條件判斷也可以新的條件判斷語句,這就形成了條件嵌套結(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)過第 3 行的條件判斷 sex == man 和 第 9 行的條件判斷 age > 60
- 執(zhí)行第 12 行的語句
- 輸出 young man
條件語句的總結(jié)
- 條件語句滿足一個(gè)條件后,將退出當(dāng)前的條件語句。
- 每個(gè)條件語句中,僅有且必須有一個(gè) if 語句,可以有0個(gè)或多個(gè) elif 語句,也可以有 0 個(gè)或者 1 個(gè) else 語句。
- 每個(gè)條件語句 if 必須是第一個(gè)條件語句
關(guān)于條件語句的小練習(xí)
需求 - 下面是某城市出租車收費(fèi)標(biāo)準(zhǔn):
起步價(jià)13元,3公里以內(nèi)收費(fèi)13元;
超過3公里,基本單價(jià)2.3元/公里;
超過10公里,基本單價(jià)加收20%的費(fèi)用,即2.76元/公里;
燃油附加費(fèi)1元/次;
根據(jù)該標(biāo)準(zhǔn)編寫出租車的計(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))
以上就是Python學(xué)習(xí)之流程控制與條件判斷總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于Python條件判斷的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
解決Python報(bào)錯(cuò)Valueerror: Expected 2d Array
如您所知,每種編程語言都會(huì)遇到很多錯(cuò)誤,有些是在運(yùn)行時(shí),有些是在編譯時(shí),下面我就來看看當(dāng)發(fā)生錯(cuò)誤 ValueError: Expected 2D array, got 1D array instead時(shí)該如何解決吧2024-01-01關(guān)于numpy.where()函數(shù) 返回值的解釋
今天小編就為大家分享一篇關(guān)于numpy.where()函數(shù) 返回值的解釋,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python實(shí)現(xiàn)手繪圖效果實(shí)例分享
在本篇文章里小編給大家整理了關(guān)于Python實(shí)現(xiàn)手繪圖效果,有需要的朋友們可以學(xué)習(xí)下。2020-07-07Python實(shí)現(xiàn)的中國剩余定理算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的中國剩余定理算法,結(jié)合實(shí)例形式分析了中國剩余定理的概念、原理及具體算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-08-08tensorflow入門:TFRecordDataset變長數(shù)據(jù)的batch讀取詳解
今天小編就為大家分享一篇tensorflow入門:TFRecordDataset變長數(shù)據(jù)的batch讀取詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python實(shí)現(xiàn)圖算法、堆操作和并查集代碼實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)圖算法、堆操作和并查集代碼實(shí)例,圖算法、堆操作和并查集是計(jì)算機(jī)科學(xué)中常用的數(shù)據(jù)結(jié)構(gòu)和算法,它們?cè)诮鉀Q各種實(shí)際問題中具有重要的應(yīng)用價(jià)值,需要的朋友可以參考下2023-08-08