標籤:擴充 使用者 錯誤提示 第一個 操作 dmi 語句 輸入 程式碼片段
條件陳述式: 用於判定,判定是否符合某條件,符合則執行,不符合則不執行該條件所定義的操作。
一步判定: 用於理解不會這樣使用。
if 1==1: if條件判定只能出現一次。
print("1") 這裡的print相對於if 有四個空格或者一個Tab鍵的縮排,意思是print是if代碼當中的一部分。
1==1 是固定寫死的條件,平常我們會採用動態條件而不是寫死的條件,這裡僅作示範之用。if 後面必須加條件 ,條件是要經過布爾運算的,運算結果為True時,那麼執行該條件陳述式當中的後續代碼,也就是print。很明顯上述代碼中1==1 這個等式是對的,也就是布爾運算過後為真-True,所以print被執行。如果1==1這裡的條件布爾值不滿足True,那麼print將不會被執行。例如將1==1 替換為1>1 1>1經過布爾運算之後會得到False。
兩步判定:
if 1 == 1:
print("正確")
else:
print("錯誤")
在這裡 代碼優先運行上面的if,如果if後面的條件為True,那麼執行列印 正確,else則不執行。如果if後面的條件不滿足則跳過if程式碼片段直接執行 else。
多條件兩步判定:
if 1 == 1 and 2 > 1:
print("正確")
else: #else 只能一次出現。
print("錯誤")
此時 if後面有兩個條件,且使用了and,那麼也就是說 這兩個條件經過布爾運算之後都要得到True,才能執行print 正確。否則執行else的列印錯誤。
and 是兩面同時都要滿足,or是只要滿足一個即可。
多步判定:
name = input(">>>:")#input函數自動賦值
if name == "admin":
print("管理員登入")
elif name == "guest": #elif可以無限次出現
print("訪客登入")
else:
print("未知使用者")
上述代碼 首先定義一個接收函數 並賦值給name,然後在條件陳述式中判斷該函數與條件是否滿足,滿足則執行,不滿足則匹配下一個條件陳述式。
條件陳述式嵌套與結束:
user_type = input("請輸入使用者類型admin or guest:")
if user_type == "admin":
user_name = input("請輸入使用者名稱:")
if user_name == "armin":
print("歡迎armin")
elif user_name == "admin":
print("歡迎管理員")
else:
print("未知使用者")
elif user_type == "guest":
print("歡迎訪客")
else:
print("未知使用者")
上述 第一層面是 if elif 和else 首先先從這三個裡面進行條件判定,若其中一個符合,那麼則進入細節執行。例如這裡如果if條件符合了,那麼接下來該執行if裡面的 if elif 和else了。這裡看到 第一個if裡面又增加了 一些if elif else 這些就是嵌套。
練習題:
1 利用learning2當中的 input getpass 以及本篇講解中的條件陳述式設定一個使用者登入,使用者名稱密碼正確提示登入成功,錯誤提示使用者名稱或密碼錯誤。
2 擴充練習 可以細化多個使用者名稱以及密碼,要求輸入A登入成功 顯示歡迎管理員 B登陸成功顯示 都不對則顯示使用者名稱或者密碼錯誤。 歡迎使用者.....
3 擴充練習 首先提示輸入類別,並給出登陸的類別提示,然後在根據提示輸入使用者名稱。使用者名稱匹配則提示輸入密碼,密碼正確給出提示,密碼錯誤給出提示並退出程式。要求多個使用者名稱。採用嵌套方式
Python 3 條件陳述式