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