- if語句
對于if語句,若條件判定為真,那么后面的語句塊就會被執(zhí)行。若條件判定為假,語句塊就會被跳過,不會執(zhí)行。
1 #if語句
2 age = 20
3 if age >= 18:
4 print('your age is', age)
5 print('adult')
- else語句
else子句只是增加一種選擇(之所以叫做子句是因為它不是獨立的語句,而是if的一部分)。if...else...搭配,若if語句為False,不執(zhí)行if下的語句塊,而去else下的語句塊。
1 #if...else...語句
2 age = 3
3 if age >= 18:
4 print('your age is', age)
5 print('adult')
6 else:
7 print('your age is', age)
8 print('teenager')
- elif語句
如果需要檢查多個條件,就可以使用elif,它是else if的簡寫,也是if和else語句的聯(lián)合使用,即使用elif做更細致的判斷:
1 #if...elif...elif...else...語句
2 age = 3
3 if age >= 18:
4 print('adult')
5 elif age >= 6:
6 print('teenager')
7 else:
8 print('kid')
- 條件語句總結(jié)
if < 條件判斷1 >:
< 執(zhí)行1 >
elif < 條件判斷2 >:
< 執(zhí)行2 >
elif < 條件判斷3 >:
< 執(zhí)行3 >
else:
< 執(zhí)行4 >
- 注意點
if
語句執(zhí)行有個特點,它是從上往下判斷,如果在某個判斷上是True
,把該判斷對應的語句執(zhí)行后,就忽略掉剩下的elif
和else語句
,所以,請測試并解釋為什么下面的程序打印的是teenager:
1 #條件語句執(zhí)行特點:從上往下判斷
2 age = 20
3 if age >= 6:
4 print('teenager')
5 elif age >= 18:
6 print('adult')
7 else:
8 print('kid')
- input()運用
最后看一個有問題的條件判斷。很多同學會用input()
讀取用戶的輸入,這樣可以自己輸入,程序運行得更有意思,更有人性化。其實啊,Error往往出現(xiàn)在意想不到的地方。不信,來看段代碼:
#if語句中使用input()方法
birth = input('birth: ')
if birth < 2000:
print('00前')
else:
print('00后')
輸入1993,結(jié)果報錯:
Traceback (most recent call last):
File "< stdin >", line 1, in < module >
TypeError: unorderable types: str() > int()
為什么呢?我在剛接觸Python時,用到此處報錯也是百思不得其解,同樣糾結(jié)了好久。直到后來,我才慢慢懂了。
這是因為input()
返回的數(shù)據(jù)類型是str
,str
不能直接和整數(shù)比較,必須先把str
轉(zhuǎn)換成整數(shù)。Python提供了int()
函數(shù)來完成這件事情。
s = input('birth: ')
birth = int(s)
if birth < 2000:
print('00前')
else:
print('00后')
因此,在編程中,條件判斷是非常重要的。條件判斷可以讓計算機自己做選擇,Python的if...elif...else很靈活。條件判斷從上向下匹配,當滿足條件時執(zhí)行對應的塊內(nèi)語句,后續(xù)的elif和else都不再執(zhí)行。
-
程序
+關(guān)注
關(guān)注
116文章
3778瀏覽量
80860 -
python
+關(guān)注
關(guān)注
56文章
4783瀏覽量
84473 -
基本語句
+關(guān)注
關(guān)注
0文章
4瀏覽量
1026
發(fā)布評論請先 登錄
相關(guān)推薦
評論