條件語句
Python 條件語句跟其他語言基本上一致的,都是透過一條或多條語句的執行結果( True 或 False )來決定執行的程式碼區塊。
Python 程式語言指定任何非 0 和非空(null)值為 True,0 或 null為 False。
執行的流程圖如下:
#1、if 語句的基本形式
Python 中,if 語句的基本形式如下:
if 判断条件: 执行语句…… else: 执行语句……
前面也提到過,Python 語言有著嚴格的縮排要求,因此這裡也需要注意縮進,也不要少寫了冒號: 。
if 語句的判斷條件可以用>(大於)、<(小於)、==(等於)、>=(大於等於)、<=(小於等於)來表示其關係。
例如:
# -*-coding:utf-8-*- results=59 if results>=60: print ('及格') else : print ('不及格')
輸出的結果為:
不及格
上面也說道,非零數值、非空字串、非空list 等,判斷為True,否則為False。因此也可以這樣寫:
num = 6 if num : print('Hello Python')
2、if 語句多個判斷條件的形式
有些時候,我們的判斷語句不可能只有兩個,有些時候需要多個,例如上面的例子中大於60 的為及格,那我們還要判斷大於90 的為優秀,在80 到90 之間的良好呢?
這時候需要用到if 語句多個判斷條件,
用偽代碼來表示:
if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3…… else: 执行语句4……
實例:
# -*-coding:utf-8-*- results = 89 if results > 90: print('优秀') elif results > 80: print('良好') elif results > 60: print ('及格') else : print ('不及格')
輸出的結果:
良好
3、if 語句多個條件同時判斷
Python 不像Java 有switch 語句,所以多個條件判斷,只能用elif 來實現,但是有時候需要多個條件需同時判斷時,可以使用or (或),表示兩個條件有一個成立時判斷條件成功;使用and (與)時,表示只有兩個條件同時成立的情況下,判斷條件才成功。
# -*-coding:utf-8-*- java = 86 python = 68 if java > 80 and python > 80: print('优秀') else : print('不优秀') if ( java >= 80 and java < 90 ) or ( python >= 80 and python < 90): print('良好')
輸出結果:
不优秀 良好
注意:if 有多個條件時可使用括號來區分判斷的先後順序,括號中的判斷優先執行,此外and 和or 的優先權低於>(大於)、<(小於)等判斷符號,即大於和小於在沒有括號的情況下會比與或要優先判斷。