溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python進(jìn)階之路 3.4.2 條件語句(if、else和elif)

發(fā)布時(shí)間:2020-06-12 18:39:59 來源:網(wǎng)絡(luò) 閱讀:236 作者:Python進(jìn)階 欄目:編程語言

3.4.2 條件語句(if、else和elif)

對于計(jì)算機(jī)程序來說,要學(xué)會(huì)第一項(xiàng)技能就是"判斷",也就是根據(jù)不同的條件,執(zhí)行不同的程序分支,這樣的程序才有意義。

if語句的作用就是為程序賦予這項(xiàng)"判斷"的技能。使用if語句就需要用到在3.3節(jié)介紹的代碼塊了。Python語句要求當(dāng)if語句的條件滿足時(shí)要執(zhí)行的代碼塊必須縮進(jìn)(一般是縮進(jìn)4個(gè)空格)。if語句的語法格式如下:

if logic expression:        #if代碼塊開始
    statement1
    statement2
    ...
    statementn
otherstatement                  #if代碼塊結(jié)束

以上代碼中,logic expression表示邏輯表達(dá)式。也就是返回布爾類型有(True或False)的表達(dá)式。由于Python語句的各種數(shù)據(jù)類型都可以用作布爾類型,所以logic expression可以看作普通的表達(dá)式。根據(jù)代碼塊的規(guī)則,每一個(gè)代碼塊的開始行的結(jié)尾要使用冒號(:),如果if代碼塊結(jié)束,退到代碼塊開始行的縮進(jìn)量即可。

下面是if語法的基本用法。

n = 3

if n == 3:
    print("n == 3")
print("if代碼塊結(jié)束")
n == 3
if代碼塊結(jié)束

在上面這段代碼中,"n == 3"是邏輯表達(dá)式,本例中的值為True。而"print("n == 3")"是if代碼塊中的語句,由于"n == 3"的值為True,所以"print("n == 3")"會(huì)被執(zhí)行。最后一條語句不屬于if代碼塊,所以無論if語句的條件為True或者False,這行代碼都會(huì)被執(zhí)行。

對于條件語句來說,往往分支不止一個(gè)。例如,上面的代碼如果變量n的值是4,那么if語句的條件就為False,這時(shí)要執(zhí)行條件為False的分支,就可以使用else子句。

n = 4

if n == 3:
    print("n == 3")
else:
    print("n == 4")
print("if代碼塊結(jié)束")
n == 4
if代碼塊結(jié)束

在上面這段代碼中,n等于4,所以if語句的條件為False,因此else代碼塊中的語句會(huì)被執(zhí)行。if與else都是代碼塊,所以if語句和else語句后面都要以冒號(:)結(jié)尾。

在多分之條件語句,需要使用elif子句設(shè)置更多的條件。elif后面跟邏輯表達(dá)式,elif也是代碼塊,所以后面要用冒號(:)結(jié)尾。另外,在if語句中,if和else部分只能有一個(gè),而elif部分可以有多個(gè)。

n = 4

if n == 3:
    print("n == 3")
elif n == 4:
    print("n == 4")
elif n == 5:
    print("n == 5")
elif n == 6:
    print("n == 6")
else:
    print("n等于其他值")
print("if代碼塊結(jié)束")
n == 4
if代碼塊結(jié)束

[例 3.3] 本例通過raw_input函數(shù)從控制臺(tái)輸入一個(gè)名字,然后通過條件語句判斷名字以書面字母開頭。

from click._compat import raw_input
name = raw_input("請輸入你的名字:")
if name.startswith("B")
    print("名字以B開頭")
elif name.startswith("A")
    print("名字以A開頭")
elif name.startswith("F")
    print("名字以F開頭")
else:
    print("名字以其他字母開頭")
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI