a = 0011 1101
b = 0000 1100
&
=> 二進位運算的and
,a & b = 0000 1100
|
=> 二進位運算的or
,a | b = 0011 1101
^
=> 二進位運算的xor
,a ^ b = 0011 0001
~
=> 二進位運算的not
,~ a = 1100 0010
<<
=> 二進位運算的左移,a << 2 = 1111 0100
>>
=> 二進位運算的右移,a >> 2 = 0000 1111
==
=> 兩值相等為True
!=
=> 兩值不相等為True
<>
=> 兩值不相等為True
>
=> 左值大於右值為True
<
=> 左值小於右值為True
>=
=> 左值大於或等於右值為True
<=
=> 左值小於或等於右值為True
>>> a = 10
>>> b = 20
>>> a == b
False
>>> a != b
True
>>> a > b
False
>>> a < b
True
>>> "hello" == "hello"
True
>>> "hello" == "world"
False
>>> "a" > "b"
False
>>> "b" > "a"
True
不只數值可以比較喔!字串也可以!
and
: 兩者都成立才為Trueor
: 其中一個成立就為Truenot
: 反轉操作,如果其中一個條件成立,反向後回傳為False
# a 和 b 兩者皆大於0才為True,才符合if條件
if ( a and b ):
print("Yes,a 和 b 兩者皆大於0才為True,才符合if條件")
else:
print("No")
# a 和 b 其中之一大於0就為True,就符合if條件
if ( a or b ):
print("Yes,a 和 b 其中之一大於0就為True,就符合if條件")
else:
print("No")
# a 和 b 其中之一大於0就為True,但加上反向not之後則為False
if not( a or b ):
print("Yes")
else:
print("No")
當 a = 10
、b = 20
結果
Yes,a 和 b 兩者皆大於0才為True,才符合if條件
Yes,a 和 b 其中之一大於0就為True,就符合if條件
No
當 a = 10
、b = 0
結果
No
Yes,a 和 b 其中之一大於0就為True,就符合if條件
No
當 a、b = 0
結果
No
No
Yes
條件判斷在程式中很重要,要先判斷條件是否成立,才能決定要做什麼事情。
依我們昨天BMI為例子,當BMI小於18.5,就要顯示“體重過輕”的訊息。
條件判斷經常使用,所使用的就是if指令。
if判斷式最重要的當然是if
嘛,但是有時候情境可能不只一種,
當if成立做A事情,不成立時做B事情,這時候就可以使用else
elif與else視情況而自行增加,elif可以有好幾個。
if、elif、else後面必須加上:
很重要 : 事件描述句要縮排
,縮排格式要一致,空格和tab
不可以混用。
if(條件):
執行動作描述句...
elif(條件):
執行動作描述句...
else: #不需要寫條件,當不符合上面的條件,其餘所有狀況都會走這裡。
執行動作描述句...
昨天我們計算了BMI,今天來把它擴充功能吧!
if (BMI < 18.5):
print("體重過輕")
elif (18.5 <= BMI < 24):
print("正常範圍")
else:
print("體重過重")
體重過重的部分也可以分更細
if (BMI < 18.5):
print("體重過輕")
elif (18.5 <= BMI < 24):
print("正常範圍")
elif (24 <= BMI < 27):
print("體重過重")
elif (27 <= BMI < 30):
print("輕度肥胖")
elif (30 <= BMI < 35):
print("中度肥胖")
else: #(BMI >= 35)
print("重度肥胖")
buy_apple = 1
if see_egg:
buy_apple = 6
工程師笑話