流程控制之if ......else
阿新 • • 發佈:2020-09-09
流程控制
假如把寫程式比做走路,那我們到現在為止,一直走的都是直路,還沒遇到過分叉口,想象現實中,你遇到了分叉口,然後你決定往哪拐必然是有所動機的。你要判斷那條岔路是你真正要走的路,如果我們想讓程式也能處理這樣的判斷怎麼辦? 很簡單,只需要在程式裡預設一些條件判斷語句,滿足哪個條件,就走哪條岔路。這個過程就叫流程控制。
基本上在各個語言中,都是用語法if…else…來實現,可分為單分支、雙分支、多分支
單分支
1 if 條件: 2 滿足條件後要執行的程式碼
雙分支
if 條件: 滿足條件執行程式碼 else: if條件不滿足就走這段 AgeOfXiaoming= 48 if AgeOfXiaoming > 50 : print("Too old, time to retire..") else: print("還能折騰幾年!")
縮排
這裡必須要插入這個縮排的知識點
你會發現,上面的if程式碼裡,每個條件的下一行都縮進了4個空格,這是為什麼呢?這就是Python的一大特色,強制縮排,目的是為了讓程式知道,每段程式碼依賴哪個條件,如果不通過縮排來區分,程式怎麼會知道,當你的條件成立後,去執行哪些程式碼呢?
在其它的語言裡,大多通過{}
來確定程式碼塊,比如C,C++,Java,Javascript都是這樣,看一個JavaScript程式碼的例子
var age = 56 if ( age < 50){ console.log("還能折騰") console.log('可以執行多行程式碼') }else{ console.log('太老了') }
在有{}
來區分程式碼塊的情況下,縮排的作用就只剩下讓程式碼變的整潔了。
Python是門超級簡潔的語言,發明者定是覺得用{}
太醜了,所以索性直接不用它,那怎麼能區分程式碼塊呢?答案就是強制縮排。
Python的縮排有以下幾個原則:
- 頂級程式碼必須頂行寫,即如果一行程式碼本身不依賴於任何條件,那它必須不能進行任何縮排
- 同一級別的程式碼,縮排必須一致
- 官方建議縮排用4個空格,當然你也可以用2個,如果你想被人笑話的話。
多分支
回到流程控制上來,if…else …可以有多個分支條件
1 if 條件: 2 滿足條件執行程式碼 3 elif 條件: 4 上面的條件不滿足就走這個 5 elif 條件: 6 上面的條件不滿足就走這個 7 elif 條件: 8 上面的條件不滿足就走這個 9 else: 10 上面所有的條件不滿足就走這段
寫個猜年齡的遊戲吧
1 age_of_martin = 48 2 guess = int(input(">>:")) 3 if guess > age_of_martin : 4 print("猜的太大了,往小裡試試...") 5 elif guess < age_of_martin : 6 print("猜的太小了,往大里試試...") 7 else: 8 print("恭喜你,猜對了...")
上面的例子,根據你輸入的值不同,會最多得到3種不同的結果