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

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

邏輯判斷與邏輯語句

什麼是邏輯判斷? —> 對於一件事情的正確與否的判斷,即 真假的判斷;在 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條件判斷的資料請關註WalkonNet其它相關文章!

推薦閱讀: