[討論] 黑馬 python 教程 - 01-15 if 進階 - 討論區

[討論] 黑馬 python 教程 - 01-15 if 進階

文章瀏覽次數 585 文章回覆數 2

Mingo

Mingo圖像(預設)

2021-04-29 22:47:10

From:27.52.128.136

095 elif 01 語法介紹及應用場頸

在開發中,使用 if 可以 判斷條件
使用 else 可以處理 條件不成立 的情況
但是,如果希望 再增加一些條件,條件不同,需要執行的代碼也不同時,就可以使用 elif
語法格式如下:

if 條件1:
    條件1滿足執行的代碼
    ……
elif 條件2:
    條件2滿足時,執行的代碼
    ……
elif 條件3:
    條件3滿足時,執行的代碼
    ……
else:
    以上條件都不滿足時,執行的代碼
    ……

對比邏輯運算符的代碼:

if 條件1 and 條件2:
    條件1滿足 並且 條件2滿足 執行的代碼
    ……
# 它只能執行條件滿足時的待馬
# 而 elif 是執行各條件滿足時不同的待馬
注意:

1. elif 和 else 都必須和 if 聯合使用,而不能單獨使用
2. 可以將 if、elif 和 else 以及各自縮進的代碼,看成一個 完整的代碼塊

096 elif 02 女友的詰日案例

需求
1. 定義 holiday_name 字符串變量記錄節日名稱
2. 如果是 情人節 應該 買玫瑰/看電影
3. 如果是 平安夜 應該 買蘋果/吃大餐
4. 如果是 生日 應該 買蛋糕
5. 其他的日子每天都是節日啊

# 定義 holiday_name 字符串變量記錄節日名稱
holiday_name = "平安夜"
# 同樣類型的資料才能互相比較

if holiday_name == "情人節":
    print("買玫瑰")
    print("看電影")
elif holiday_name == "平安夜":
    print("買蘋果")
    print("吃大餐")
elif holiday_name == "生日":
    print("買蛋糕")
else:
    print("每天都是節日啊")

097 if嵌套 01 if嵌套的應用場頸

elif 的應用場景是:同時判斷多個條件,所有的條件是平級的
在開發中,使用 if 進行條件判斷,如果希望 在條件成立的執行語句中再增加條件判斷,就可以使用 if 的嵌套
所以 if 的嵌套的應用場景就是:在之前條件滿足的前提下,再增加額外的判斷 兩個 if 語句是有前後關係的
如你要搭上飛機 你必須要有一張機票 然後通過安檢測市 你才可以搭乘飛機

098 if嵌套 02 if嵌套的語法

if 的嵌套語法格式,除了縮進之外 和之前的沒有區別
語法格式如下:

if 條件 1:
    條件 1 滿足執行的代碼
    ……

    if 條件 1 基礎上的條件 2:
        條件 2 滿足時,執行的代碼
        ……    

    # 條件 2 不滿足的處理
    else:
        條件 2 不滿足時,執行的代碼

# 條件 1 不滿足的處理
else:
    條件1 不滿足時,執行的代碼
    ……

099 if嵌套 03 火車站安檢 檢察車票

需求
1. 定義布爾型變量 has_ticket 表示是否有車票 True/有 False/沒有 車票
2. 定義整型變量 knife_length 表示刀的長度,單位:厘米
3. 首先檢查是否有車票,如果有,才允許進行安檢
4. 安檢時,需要檢查刀的長度,判斷是否超過 20 厘米
 如果超過 20 厘米,提示刀的長度,不允許上車
 如果不超過 20 厘米,安檢通過
5. 如果沒有車票,不允許進門

# 定義布爾型變量 has_ticket 表示是否有車票
has_ticket = True

# 定義整數型變量 knife_length 表示刀的長度,單位:厘米
knife_length = 20

# 首先檢查是否有車票,如果有,才允許進行安檢
# 接著先完成沒有車票的簿份 也就是 else:
if has_ticket:
    print("有車票,可以開始安檢...")
else:
    print("大哥,您要先買票啊")

程序不一定要全部寫完才可以執行
我門再考慮事情的時候很難一步道位
所以可以切割成一件一件的事情分別處理

101 if嵌套 05 火車站安檢 檢查刀的長度

# 定義布爾型變量 has_ticket 表示是否有車票
has_ticket = True

# 定義整數型變量 knife_length 表示刀的長度,單位:厘米
knife_length = 20

if has_ticket:
    print("有車票,可以開始安檢...")

    # 安檢時,需要檢查刀的長度,判斷是否超過 20 厘米
    # 如果超過 20 厘米,提示刀的長度,不允許上車
    # >= 20
    if knife_length >= 20:
        # 使用格式化輸出整數
        print("不允許攜帶 %d 厘米長的刀上車" % knife_length)
    # 如果不超過 20 厘米,安檢通過
    else:  # < 20
        print("安檢通過,祝您旅途愉快...")

# 如果沒有車票,不允許進門
else:
    print("大哥,您要先買票啊")

好的 又到了驗證代碼的時刻了 還是要自己動手試試執行結果
※最後更新時間:2021-04-29 23:36:32 From:27.52.138.31 By:Mingo

留言

#1

cello

cello圖像(預設)

2021-07-20 15:02:30

From:219.85.3.19

新版的python在格式化字符%不知有沒有變得更為聰明,可以自動判斷變數的資料類型?無需手動田路資料的型態

#2

特種兵

特種兵圖像(預設)

2021-07-21 11:29:52

From:111.249.172.204

有不同的用法可以達到你的需求,VI coding會講到