if單向判斷:
stonenumber=6
#為寶石數量賦值
if stonenumber>=6:
#條件:如果你擁有的寶石數量大於等於6個
print('你擁有了毀滅宇宙的力量')
#結果:顯示‘你擁有了毀滅宇宙的力量’的結果
輸出:你擁有了毀滅宇宙的力量
所以,if語句的單向判斷邏輯,我們可以這樣歸納:
在這里,你可能注意到了一個細節:在條件判斷代碼中的冒號:后、下一行內容的前面,會空幾個格,但這是為什么呢?
首先,在計算機的溝通語言中,空格的學名叫縮進,比如我們寫文章都要空兩個格,這就叫首行縮進。
對於Python而言,冒號和縮進是一種語法。它會幫助Python區分代碼之間的層次,理解條件執行的邏輯及先后順序。
此時,被縮進的內容(print()函數)和if條件語句組成了一個代碼塊(一個整體),成為了if條件下的內部命令。
這意味着:如果賦值滿足if條件,計算機就會准確執行if條件內部的命令。
通俗點講,我們可以把if當作一個黑社會大哥,冒號后的內容都是他的小弟,當老大if提出一個條件時,他組織下的小弟就會自動執行任務。
雙向判斷:if…else…
stonenumber=3
#賦值語句:為寶石數量賦值
if stonenumber>=6:
#條件:如果你擁有的寶石數量大於等於6個
print('你擁有了毀滅宇宙的力量')
#結果:顯示‘你擁有帶着卡魔拉去沃彌爾星尋找靈魂寶石了毀滅宇宙的力量’的結果
else:
#條件:當賦值不滿足if條件時,執行else下的命令
print('帶着卡魔拉去沃彌爾星尋找靈魂寶石')
#結果:顯示‘去找靈魂寶石’的結果
輸出:帶着卡魔拉去沃彌爾星尋找靈魂寶石
多向判斷:if…elif…else…
那么,在判斷3個或3個以上的條件時,我們就需要借助Python中的多向判斷命令:if…elif…else…。
這三者共同構成了多向判斷的命令邏輯關系:如果if的條件不滿足,就按順序看是否滿足elif的條件,如果不滿足elif的條件,就執行else的命令。
並且,當判斷的條件超過3個時,中間的多個條件都可以使用elif。
stonenumber=5
#為寶石數量賦值
if stonenumber>=6:
#條件:如果你擁有的寶石數量大於等於6個
print('你擁有了毀滅宇宙的力量')
#結果:顯示‘就擁有了毀滅宇宙的力量’的結果
elif 3<stonenumber<=5:
#條件:如果想讓寶石數量停留在4至5個
print('紅女巫需要親手毀掉幻視額頭上的心靈寶石')
else:
#條件:當賦值不滿足if和elif條件時,執行else下的命令,寶石數量在3個以下
print('需要驚奇隊長逆轉未來')
#結果:顯示‘需要驚奇隊長逆轉未來’的結果
輸出:紅女巫需要親手毀掉幻視額頭上的心靈寶石
if嵌套:
像這種如果底下還有如果、條件里還套條件的情況,我們如何用Python把上面的規則寫出來,並得出評價呢?
答案就是——嵌套條件。
historyscore=26
if historyscore>=60:
print('你已經及格')
if historyscore>=80:
print('你很優秀')
else:
print('你只是一般般')
else:
print('不及格')
if historyscore<30:
print('學渣')
else:
print('還能搶救一下')
print('程序結束')
輸出:
不及格
學渣
程序結束
總結:
練習:
請你寫出一段代碼,判斷美國隊長的工資每月80美元屬於什么水平。
其中判斷工資水平的代碼需要滿足如下條件:
1.如果月工資小於等於500美元,顯示“歡迎進入史塔克窮人幫前三名”
1.1如果月工資在100-500美元之間,顯示“請找弗瑞隊長加薪”
1.2如果月工資小於等於100美元,顯示“恭喜您榮獲“美元隊長”稱號!”
2.如果月工資在500-1000美元之間(含1000美元),打印“祝賀您至少可以溫飽了。”
3.其他情況下,如果工資大於1000美元,打印“經濟危機都難不倒您!”
3.1如果工資在1000-20000美元(含20000美元)之間,打印“您快比鋼鐵俠有錢了!”
3.2如果月工資大於20000美元,打印“您是不是來自於瓦坎達國?”
4.不管賦值改變后輸出結果如何,都需固定打印“程序結束”
money=80
if money<=500:
print('歡迎進入史塔克窮人幫前三名')
if 100<money<500:
print('請找佛瑞隊長加薪')
else:
print('恭喜你榮獲美元隊長稱號')
elif 500<money<=1000:
print('祝賀你至少可以溫飽了')
else:
print('經濟危機都難不倒您!')
if 1000<money<=20000:
print('您快比鋼鐵俠有錢了!')
else:
print('你是不是來自瓦坎達國?')
print('程序結束')
輸出:
歡迎進入史塔克窮人幫前三名
恭喜你榮獲美元隊長稱號
程序結束