python基礎3 條件判斷 if嵌套


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('程序結束')

輸出:

歡迎進入史塔克窮人幫前三名
恭喜你榮獲美元隊長稱號
程序結束

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM