iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 5
0
自我挑戰組

Python 30天學習日誌系列 第 5

Day05-關係運算子與if判斷式

關係運算子

關係運算子就是我們數學中「大於」、「小於」、「等於」...他們的用途就是拿來比較資料的大小關係,所以才叫關係運算子(又稱比較運算子),這邊也列出6種關係運算子用法:

運算子功能 運算符號
大於 >
大於等於 >=
小於 <
小於等於 <=
等於 ==
不等於 !=
由於關係運算子屬於二元運算子,單項資料無法比較,一定要有兩項資料才能互相比較
>>> 9 > 4
True

關係運算子的執行結果只有對(True)或錯(False)兩種情況,也就是前面所說的"布林值"。除了基本的數字比較,還能進行物件大小及算數運算式的判斷

en_score = 90
ch_score = 40

>>> en_score > 60
True
>>> ch_score > en_score
False
>>> en_score + ch_score >= 120
True

此外,還有一些需要注意的地方

score >= 60
score > 59

兩條程式從整數的邏輯上,執行結果是一樣的,不過要是score是浮點數或Decimal浮點數,介於59與60之間的浮點數就會判斷為及格,這也是在初次寫程式時,可能會發生的小錯誤,需多加注意。
還有一點我覺得很特別的是Python能夠去比較字串,而其依據則是字元的「字元碼」,按照字元順序去比大小,如下:

>>> 'abc'>'ABC'
True

由於'a'的字元碼是97,'A'是65,所以此行的執行結果就會是True。


if判斷式

if判斷式可依據運算式的運算結果(True或False),作為條件來判斷應該執行哪部分的程式碼,控制走向,因此我們稱此述句為程式流程控制。
if判斷式一般形式如下,其中elif與else為選用性,可能有可能沒有,elif可以有好幾個

if運算式:
    述句
    述句..
    
elif運算式:
    述句
    述句..
    
else:
    述句
    述句..

if、elif、else那一行的最後面,必須加上冒號「:」,代表後面將接著一組程式述句,而裡面的述句必須遵守縮排,直接看例句比較清楚~

score = 87

if 90 <= score <= 100:      #如果if為真
    print('A')              #執行此處
elif score >= 80:     #如果if為假而這裡為真
    print('B')              #執行此處
elif score >= 70:     .
    print('C')              .
elif score >= 60:     .
    print('D')              .
else:                       #若上述皆假
    print('F')              #執行此處

根據上方程式碼,就可以得知輸出結果為'B',大致上if判斷式就是一條一條,由上而下去進行判斷,慢慢觀察就能輕易理解。最後再講一下我覺得特別需要注意的地方,那就是縮排,打程式的時候,若有哪邊多出空白或是空格掌握不好,都會導致Python看不懂而跑出錯誤訊息,更何況是要在if判斷式裡再加一個if判斷的時候,縮排就必須完整分明。自己在發生錯誤時,通常都是先檢查縮排,每次都是因為多一個空格讓程式跑不動...希望大家也能多小心~

明天來看看迴圈吧~

參考資料

  • 書名-輕鬆學Python3 /孫宏明-編著
  • 書名-Python程式設計入門 /葉難-編著

上一篇
Day04-資料輸入和算術運算
下一篇
Day06-For、While迴圈(上)
系列文
Python 30天學習日誌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言