Pu-lian 理路是數學的一咧必叉。數學伊的理論檢采真複雜。佇遮,咱先用程式的角度來看:佇啥物狀況,一咧算式會產生 True? 又閣是啥物狀況,會產生 False?
比較運算元(Comparison Operators)
首先,是比較運算元(Comparison Operators),下跤是比較運算元的表:運算元 | 意思 |
---|---|
== | 相仝 |
!= | 無仝 |
< | 較細 |
> | 較大 |
<= | 較細抑是相仝 |
>= | 較大抑是相仝 |
#!/bin/bash x = 5 y = 8 print("x == y:", x == y) print("x != y:", x != y) print("x < y:", x < y) print("x > y:", x > y) print("x <= y:", x <= y) print("x >= y:", x >= y)運行的輸出:
$ python3 boolean.py
x == y: False
x != y: True
x < y: True
x > y: False
x <= y: True
x >= y: False
uì數字來算,簡單比較 in 事實上是相仝/大/細,和運算元的表示有仝款無? 若有就是 True, 無就是 False。像 x = 5 事實上比 y = 8 較細。所以 ==, >, >= 攏毋著,是 False。!=, <, <= 有合,都是 True。
阿若字串咧? 字串的相仝,就是兩的字串愛規枇一模一樣,連大寫,小寫攏愛仝款。A 和 a 是無仝--ê。有一字無對同(tâng),就是無仝。字串敢會使比大細? 會用--得。逐个字母攏有伊的 ASCII 值,字串就是一字一字,uì 頭到尾比伊的 ASCII 值的大細:
x 佮 y,比到第三的,c 的 ASCII code 比 d 細,所以 x 就是比 y 細,後壁的免閣比矣。
好佳哉,a-z 是按照順序若來若大,A-Z 嘛是。毋過,a-z 是比 A-Z 較大。
當然,變數若是承著 True/False,這个變數的型態就自動轉做 Boolean 型態。伊嘛是會使比大細: True 比 False 較大。
舉例來講,and 有四種狀況:
True and True ==> True
True and False ==> False
False and True ==> False
False and False ==> False
干焦 x 和 y 攏是 "真", 伊的結果才是 "真"。仝款, or 是:
True or True ==> True
True or False ==> True
False or True ==> True
False or False ==> False
not 只有兩款:
not True ==> False
not False ==> True
咱小共伊看一咧: x % 2 == 0 和 x %3 == 0 的 '==',攏是 Pu-lian 運算,若是 True,後壁就躘--過,if-statement 內仝款是 continue。若按呢,敢會使共伊合--起來? 這兩的 if 的關係,是 or 的關係。所以,咱會使改做:
按呢咱的程式,是毋是閣較屧貼咧。用 and, or, not 共你需要的條件,敆--起來,像 x > 100 and x < 1000 來揣出 100 到 1000 中央的數字,你就會使閣較幼路,來予你的程式照你 ê 向望來行。
這篇文章的一寡例,是參考網路頂一篇: "Understanding Boolean Logic in Python3",逐个若有興趣,會使去遐踅踅咧!
>>> x='abcz'
>>> y='abdy'
>>> x > y
False
>>> x < y
True
>>>
好佳哉,a-z 是按照順序若來若大,A-Z 嘛是。毋過,a-z 是比 A-Z 較大。
當然,變數若是承著 True/False,這个變數的型態就自動轉做 Boolean 型態。伊嘛是會使比大細: True 比 False 較大。
>>> x = True
>>> y = False
>>> x > y
True
>>> x < y
False
理路運算元(Logical Operators)
理路運算元是針對 True/False 的運算。伊本底是對數學的原理來--ê。毋過佇 Python,咱干焦了解三的基本的運算元就好:運算元 | 意思 | 生做啥款 |
---|---|---|
and | 若兩的攏真,伊就是真 | x and y |
or | 凊彩一个真,伊就是真 | x or y |
not | 倒反,真成做假, 假个變真 | not x |
True and True ==> True
True and False ==> False
False and True ==> False
False and False ==> False
干焦 x 和 y 攏是 "真", 伊的結果才是 "真"。仝款, or 是:
True or True ==> True
True or False ==> True
False or True ==> True
False or False ==> False
not 只有兩款:
not True ==> False
not False ==> True
按呢咱的程式,是毋是閣較屧貼咧。用 and, or, not 共你需要的條件,敆--起來,像 x > 100 and x < 1000 來揣出 100 到 1000 中央的數字,你就會使閣較幼路,來予你的程式照你 ê 向望來行。
這篇文章的一寡例,是參考網路頂一篇: "Understanding Boolean Logic in Python3",逐个若有興趣,會使去遐踅踅咧!
沒有留言:
張貼留言