###### tags: `chapter 5` `Python` # 5-1 關係&邏輯運算子 # ## 關係運算子 ## 寫程式時很常需要進行資料比對,不論是字串資料還是數值資料,所有的程式幾乎無法避免比較的過程,將兩者進行比對的工具我們稱為`關係運算子`,在數學上就是`<`、`>`等符號。以下列出所有python的關係運算子以及其功能。 ![](https://i.imgur.com/QNR9ROP.jpg) 基本上,關係運算子是用來判斷一件事使否成立,假設你給電腦`a > b`,他會告訴你這件事是成立還是不成立。如果今天a是20且b為10,那電腦會告訴你`True`,若兩者對調,則電腦會回傳`False`。 如果我們今天要判斷兩個數是否相等,那我們可以這麼做 ```python a = 10 b = 10 print(a == b) # True ``` 關係運算子就對應著現實世界的是非題,所有的是非題都可以用關係運算子來表示,不論他有多複雜,有幾個條件,當出現一次要判斷多個條件的時候,我們可以搭配邏輯運算子來進行判斷。 ## 邏輯運算子 ## 邏輯運算子是指電路學裡的邏輯閘(and、or、not),通常會和多個條件判斷式一起使用。 `and`:相當於'且',兩邊的事件必須同時成立(True),否則結果為不成立(False)。 例如:如果`你是男生`且`滿18歲`了,那你必須去當兵! ![](https://i.imgur.com/AobKHGC.jpg) `or`:相當於'或',兩邊的事件最少要有一件成立(True),否則結果為不成立(False)。 例如:成功需要的是擁有`積極努力向上的心`或`一個有錢的爸爸`。 ![](https://i.imgur.com/72w9fHZ.jpg) `not`:和上述兩個較不同,`not`會將條件判斷式的結果顛倒。 例如:將`2 > 3`的結果`False`轉變為`True` ![](https://i.imgur.com/Eo4YoLI.jpg) 在電腦世界,我們通常會將`True`表示為`1`,`False`表示為`0`。 ## 範例 ## 有了上述兩個工具,我們可以組合稍微複雜一點的條件判斷式囉! * 範例$1$ ```python= a = True b = False c = False print(a != b and b == c) # True ``` * 範例$2$ ```python= a = True b = False c = True print(a != b and b == c and a != b) # False ```