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