條件判斷
計算機之所以能做很多自動化的任務,因為它可以自己做條件判斷。
if語句的完整形式就是:
if <條件判斷1>:
<執行1>
elif <條件判斷2>:
<執行2>
elif <條件判斷3>:
<執行3>
else:
<執行4>
複製程式碼
根據Python的縮排規則,如果if
語句判斷是True
,就把縮排的兩行語句執行了,否則如果if
判斷是False
,不要執行if
的內容,繼續進入elif
的判斷,以此類推,到最後都為False
,則把else
執行了。
if
語句執行有個特點,它是從上往下判斷,如果在某個判斷上是True
,把該判斷對應的語句執行後,就忽略掉剩下的elif
和else
。
if
判斷條件還可以簡寫,比如寫:
if x:
print('True')
複製程式碼
只要x
是非零數值、非空字串、非空list等,就判斷為True
,否則為False
。
注意
- 不要少寫了冒號
:
elif
是else if
的縮寫,完全可以有多個elif
來個例子:
age = input('請輸入您的年齡')
if age > 18:
print('這裡的電影隨便看')
elif 18 >= age > 6::
print('你還沒有成年呢,不能亂看哦')
else:
print('小屁孩,太小了')
複製程式碼
輸入18
,結果報錯:
Traceback (most recent call last):
File "/Users/Song/PycharmProjects/test/text.py", line 2, in <module>
if age > 18:
TypeError: '>' not supported between instances of 'str' and 'int'
複製程式碼
這是因為input()返回的資料型別是str,str不能直接和整數比較,必須先把str轉換成整數。Python提供了int()函式來完成這件事情:
s = input('請輸入您的年齡')
age = int(s)
if age > 18:
print('這裡的電影隨便看')
elif 18 >= age > 6::
print('你還沒有成年呢,不能亂看哦')
else:
print('小屁孩,太小了')
複製程式碼
再次執行就可以得到正常結果了。