首頁 > 軟體

Python學習之流程控制與條件判斷總結

2022-03-05 10:00:42

初識條件判斷(邏輯判斷)

邏輯判斷與邏輯語句

什麼是邏輯判斷? —> 對於一件事情的正確與否的判斷,即 真假的判斷;在 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))

以上就是Python學習之流程控制與條件判斷總結的詳細內容,更多關於Python條件判斷的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com