條件選擇在Python語法中是最基礎也是最重要的一個語句結構。
不僅僅是程序,平時生活中我們也會面臨很多選擇,比如今天下雨,我是開車上班? 還是做公交車?今天中午是吃麵條還是吃鹹魚?所以程序也同樣面臨這樣的問題,這個值大於100 應該執行什麼操作,小於100執行什麼操作?在前面的文章中介紹過Python中的條件表達式,也寫過標準的條件語句。那麼條件選擇到底有哪些分支可以選擇,面對一個分支,兩個分支,或者多個分支的時候該選擇什麼樣的語句來實現。
實例01:編程實現輸入學生的語文、數學、英語的成績,單科滿分100分
判斷1,如果平均分大於90分或等於90分,就提示:你真聰明!
判斷2,如果平均分低於60分,就提示:你要努力了!
操作代碼:
Chinese = int(input("請輸入學生的語文成績:"))
Maths = int(input("請輸入學生的數學成績:"))
English = int(input("請輸入學生的英語成績:"))
average = (Chinese + Maths + English) / 3
if average >= 90:
print("學生的平均分是:%.2f 你真聰明!" % average)
if average < 60:
print("學生的平均分是:%.2f 你要努力了!" % average)
代碼演示:
注意:if語句塊中要執行的代碼一定要縮進
代碼分析:
首先有三個科目的成績需要輸入,使用input輸入學生成績並且直接使用int轉換成整數;其次定義一個變量來計算三個科目的平均分,最後通過if來判斷學生的平均分是否大於等於90分,或者小於60分,並顯示判斷的結果。
實例02:用編程實現在控制臺應用程式中輸入學生的語文、數學、英語的成績,單科滿分100分
判斷條件:
1)如果有一門考試成績是100分
2)如果有兩門考試成績大於90分
3)如果三門考試成績都大於80分
滿足三個條件中的任意一個,就獎勵一朵小紅花
操作代碼:
Chinese = int(input("請輸入學生的語文成績:"))
Maths = int(input("請輸入學生的數學成績:"))
English = int(input("請輸入學生的英語成績:"))
course = ""
if (Chinese == 100 or Maths == 100 or English == 100):
if(Chinese == 100): course += "語文、"
if(Maths == 100): course += "數學、"
if(English == 100): course += "英語、"
print("你的%s考了100分,獎勵一朵小紅花!" % course)
if (Chinese >= 90 and Maths >= 90) or (Chinese >= 90 and English>= 90) or (Maths >= 90 and English >= 90):
if(Chinese >= 100): course += "語文、"
if(Maths >= 90): course += "數學、"
if(English >= 90): course += "英語、"
print("你的%s成績大於90分,獎勵一朵小紅花!" % course)
if (Chinese >= 80 and Maths >= 80 and English >= 80):
print("你的語文、數學、英語三門成績都大於80分,獎勵一朵小紅花")
代碼演示:
代碼分析:
首先定義三個考試科目的變量,並把輸入的學生成績通過int轉換為整型;
第一個if語句判斷三門成績是否有考100分的,如果有就添加到變量course裡面,並列印出來;
第二個if語句判斷三門成績是否有兩門成績>=90分的,如果有就添加到變量course裡面,並列印出來;
第三if語句判斷三門科目的考試成績是否都>=80分,如果有就添加到變量course裡面,並列印出來;
所以會發現如果單純的通過if語句來實現需求就會出現如圖的情況,每個條件都滿足,都會分別列印並顯示出來。如何解決?後面會繼續給大家分享Python的條件選擇更多的應用方法,請繼續關注。
總結:if 語句結構
if 判斷條件:
要執行的代碼
1)if判斷條件後面一般是比較運算符連結的表達式,中間可能還有邏輯運算等,判斷語句後面冒號不要忘記;
2)如果滿足某個條件就執行下面的代碼塊,如果不滿足就直接忽略。所以在執行過程中程序運行到if處,首先判斷if所帶的條件,如果條件成立,就返回True,則執行if所帶的代碼;如果條件不成立,就返回值是False, 跳過if語句繼續向下執行。