a = 10
b = 20
if (a and b):
print("1 - 變量a 和 b 都爲True")
else:
print("1 - 變量 a 和 b 有一個不爲true")
if( a or b):
print("2 - 變量 a和b都爲 true,或其中一個變量爲 true")
else:
print("2 - 變量 a和b都不爲 true")
#修改變量 a 的值
a = 0
if ( a and b ):
print("3 - 變量a 和 b 有一個都爲 true")
else:
print("3 - 變量 a 和 b 有一個不爲 true")
if( a or b):
print("4 - 變量 a 和 b 都爲true,或其中一個變量爲 true")
else:
print("4 - 變量 a 和 b 都不爲true")
if not(a and b):
print("5 - 變量 a 和 b 都爲false,或其中一個變量爲false")
else:
print("5 - 變量 a 和 b 都爲true")
上圖是python代碼,邏輯運算符 是 or(邏輯或)、and(邏輯與)、not(邏輯非)
運算結果:
1 - 變量a 和 b 都爲True
2 - 變量 a和b都爲 true,或其中一個變量爲 true
3 - 變量 a 和 b 有一個不爲 true
4 - 變量 a 和 b 都爲true,或其中一個變量爲 true
5 - 變量 a 和 b 都爲false,或其中一個變量爲false
糾結了許久"爲什麼1的結果是true,是不是非0即爲真?",
最後找到數值類型的布爾值才解決我的疑惑。
布爾值類型
#bool 布爾值 #True 真 , False 假
####數值類型轉換成布爾值類型 bool(數值)
##只有0是False , 非0是True
print(bool(0)) # False 只有0是False
print(bool(1)) # True 非0是真
####字符串轉換成布爾值類型 bool(字符串)
##空的字符串爲False ,非空字符串爲True
print(bool('')) # 空字符串 False
print(bool("abc")) # 非空字符串 True
####布爾值類型轉換成字符串類型 str(布爾值)
print(str(True)) # 轉換成字符串 True
print(type(str(False)))# 查看類型<class 'str'>
####布爾類型轉換成數值類型 int(布爾值)
print(int(True)) # 轉成int 1
print(type(int(False))) #<class 'int'>