新聞中心
一、python條件判斷
條件語(yǔ)句是指根據(jù)條件表達(dá)式的不同計(jì)算結(jié)果,使程序流轉(zhuǎn)到不同的代碼塊。python中的條件語(yǔ)句是if語(yǔ)句和if else語(yǔ)句。
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、網(wǎng)站空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、武宣網(wǎng)站維護(hù)、網(wǎng)站推廣。
1、if條件語(yǔ)句
if語(yǔ)句用于判斷某個(gè)條件是否成立,如果成立,則執(zhí)行語(yǔ)句內(nèi)的程序,否則跳過(guò)if語(yǔ)句執(zhí)行后面的內(nèi)容,語(yǔ)法格式如下:
if語(yǔ)句的執(zhí)行過(guò)程是,如果條件的布爾值為true,則執(zhí)行語(yǔ)句塊:否則跳過(guò)語(yǔ)句塊,繼續(xù)執(zhí)行后面的語(yǔ)句。語(yǔ)句塊是一組程序語(yǔ)句,python的語(yǔ)法中沒(méi)有用Java等語(yǔ)言中的花括號(hào)表示一組語(yǔ)句,而是采用空格縮進(jìn)的方式表示一組語(yǔ)句,
通常用4個(gè)空格表示一組語(yǔ)句,使程序員在編碼時(shí)減少了代碼的工作量。下面示例展示if的使用:
>>> money = 100
>>> if (money > 99):
print ("double kill")
print ("triple kill")
double kill
triple kill
定義變量money=100,使用if語(yǔ)句時(shí)條件money>99的值是布爾值true,執(zhí)行下面的2條打印語(yǔ)句,這2條打印語(yǔ)句都是前面有4個(gè)空格,表示他們是一個(gè)語(yǔ)句塊。
2、條件表達(dá)式與關(guān)系運(yùn)算符
使用if語(yǔ)句時(shí),后面要用到條件表示式和關(guān)系運(yùn)算符,他們可以經(jīng)過(guò)運(yùn)算得到布爾值。條件表達(dá)式的語(yǔ)法如下:
前后兩個(gè)數(shù)值,中間使用關(guān)系運(yùn)算符比較,得到布爾值。常用的關(guān)系運(yùn)算符如下表所示:
下面代碼演示他們的運(yùn)算結(jié)果:
>>> print(10==9)
False #假
>>> print(10!=9)
True #真
>>> print(10>9)
True #真
>>> print(10<9)
False #假
>>> print(10>=9)
True #真
>>> print(10<=9)
False #假
語(yǔ)句10==9是等于判斷,他們不相等,結(jié)果是false。10!=9是不等于判斷,它們不相等,結(jié)果是true。其他幾種也是采用相同的方式進(jìn)行判斷得到結(jié)果。
3、if-else條件語(yǔ)句
if語(yǔ)句還可以加上else關(guān)鍵字,根據(jù)條件判斷,決定執(zhí)行不同的語(yǔ)句塊,當(dāng)條件為true時(shí),執(zhí)行語(yǔ)句塊1,當(dāng)條件為false時(shí),執(zhí)行語(yǔ)句塊2,語(yǔ)法如下:
示例代碼如下:
cj=input("請(qǐng)輸入您的成績(jī):")
cj=eval(cj)
if cj>=60:
print("合格")
else:
print("繼續(xù)努力")
//輸出結(jié)果
請(qǐng)輸入您的成績(jī):80
合格
>>>
請(qǐng)輸入您的成績(jī):50
繼續(xù)努力
第1遍執(zhí)行時(shí),輸入80,條件為true,執(zhí)行print‘合格’語(yǔ)句;第2遍執(zhí)行時(shí),輸入50,條件為false,執(zhí)行print‘繼續(xù)努力’。所以if-else是在需要根據(jù)條件決定程序需要執(zhí)行的內(nèi)容時(shí)使用。
語(yǔ)法上要注意if和else后面都是要使用冒號(hào),它們前面的空格縮進(jìn)是相同的,表示他們是一個(gè)整體,而他們對(duì)應(yīng)的語(yǔ)句塊也是同級(jí)的,空格縮進(jìn)是相同的,整體的代碼看起來(lái)比其他語(yǔ)言更加簡(jiǎn)潔易懂。
4、多重if語(yǔ)句
使用if-else通過(guò)條件判斷使程序能夠有2條執(zhí)行路徑,但有時(shí)還需要更多路徑進(jìn)行處理,這時(shí)可以加入elif關(guān)鍵字處理。語(yǔ)法如下:
當(dāng)條件1成立時(shí),執(zhí)行條件1對(duì)應(yīng)的語(yǔ)句塊1,當(dāng)條件2,3成立時(shí),分別執(zhí)行對(duì)應(yīng)的語(yǔ)句塊,當(dāng)前面的條件都不成功時(shí),執(zhí)行else對(duì)應(yīng)的語(yǔ)句塊。示例代碼如下:
while True:
cj=input("請(qǐng)輸入您的成績(jī):")
cj=eval(cj)
if cj>=90:
print("優(yōu)秀")
elif cj>=70:
print("合格")
elif cj>=60:
print("良好")
else:
print("繼續(xù)努力")
//輸出結(jié)果
請(qǐng)輸入您的成績(jī):92
優(yōu)秀
請(qǐng)輸入您的成績(jī):71
合格
請(qǐng)輸入您的成績(jī):65
良好
請(qǐng)輸入您的成績(jī):45
繼續(xù)努力
請(qǐng)輸入您的成績(jī):35
繼續(xù)努力
使用鍵盤(pán)輸入不同的值,輸出結(jié)果不同,執(zhí)行了不同的語(yǔ)句塊,其中else語(yǔ)句是一個(gè)可選項(xiàng),可以有也可以沒(méi)有,需要根據(jù)程序的需要靈活掌握。
5、if語(yǔ)句的常見(jiàn)問(wèn)題
1)使用if-elif-else語(yǔ)句時(shí),容易出現(xiàn)邏輯錯(cuò)誤,因?yàn)闂l件是由上向下判斷,如果條件成立,下面的條件判斷將不再執(zhí)行。前面示例代碼如果把條件顛倒過(guò)來(lái),比如把cj>=60放到cj>=90的上面,那么輸入100時(shí),首先判斷的cj>=60是成立的,則不會(huì)再執(zhí)行cj>=90的判斷語(yǔ)句,程序?qū)o(wú)法按要求得到結(jié)果,以下代碼就是邏輯錯(cuò)誤的典型情況:
cj=input("請(qǐng)輸入您的成績(jī):")
cj=eval(cj)
if cj>=60:
print("優(yōu)秀")
elif cj>=70:
print("合格")
elif cj>=90:
print("良好")
else:
print("繼續(xù)努力")
2)if語(yǔ)句中語(yǔ)句塊沒(méi)有縮進(jìn)也是容易犯的錯(cuò)誤,如下代碼編譯器會(huì)直接報(bào)錯(cuò):
cj=input("請(qǐng)輸入您的成績(jī):")
cj=eval(cj)
if cj>=60:
print("優(yōu)秀") #沒(méi)有縮進(jìn)
還要保證同級(jí)的語(yǔ)句縮進(jìn)空格的絕對(duì)一致,即使只有一個(gè)空格的差別,他們已經(jīng)表示不同的語(yǔ)句塊了,如下代碼所示:
cj=input("請(qǐng)輸入您的成績(jī):")
cj=eval(cj)
if cj>=60:
print("優(yōu)秀")
elif cj>=70:
print("合格") #少了一個(gè)空格
elif cj>=90:
print("良好") #少了兩個(gè)空格
第2條輸出語(yǔ)句比第1條少了1個(gè)空格,執(zhí)行時(shí)會(huì)報(bào)錯(cuò)。
3)對(duì)于使用其他語(yǔ)言轉(zhuǎn)為python的程序員,由于習(xí)慣經(jīng)常會(huì)忘記表達(dá)式后面的冒號(hào),多練習(xí)熟悉語(yǔ)法。
本文題目:python條件判斷
分享URL:http://fisionsoft.com.cn/article/pgjeei.html