小白學python系列-(6) 條件判斷

宋寶康發表於2018-04-06

條件判斷

計算機之所以能做很多自動化的任務,因為它可以自己做條件判斷。
if語句的完整形式就是:

if <條件判斷1>:
    <執行1>
elif <條件判斷2>:
    <執行2>
elif <條件判斷3>:
    <執行3>
else:
    <執行4>
複製程式碼

根據Python的縮排規則,如果if語句判斷是True,就把縮排的兩行語句執行了,否則如果if判斷是False,不要執行if的內容,繼續進入elif的判斷,以此類推,到最後都為False,則把else執行了。

if語句執行有個特點,它是從上往下判斷,如果在某個判斷上是True,把該判斷對應的語句執行後,就忽略掉剩下的elifelse

if判斷條件還可以簡寫,比如寫:

if x:
    print('True')
複製程式碼

只要x是非零數值、非空字串、非空list等,就判斷為True,否則為False

注意

  • 不要少寫了冒號:
  • elifelse 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('小屁孩,太小了')
複製程式碼

再次執行就可以得到正常結果了。

相關文章