今天是學習python的第三天,每天跟著我學習一小時
先來給你介紹一下布林值。
在計算機的邏輯判斷中,只有兩種結果:真(true)和假(false),計算真假的過程被叫做【布林運算】。
【true】和【false】也被叫做【布林值】,另外【true】和【false】也是python中的關鍵字(首字母大寫),在命名變數時注意不要混淆了。
那麼在python中有哪些【布林值】呢?
在python當中所有的資料都是自帶【布林值】的。
這是python官方提供了布林(bool) 型別來表示真(對)或假(錯)。
我們可以使用【bool()】函式來確定乙個資料的【布林值】。
print
('非0整數的布林值:'
)print
(bool(1
))print
('0的布林值:'
)print
(bool(0
))print
('空的字串的布林值:'
)print
(bool(''
))print
('非空字串的布林值:'
)print
(bool
('abc123'))
print
('空列表的布林值:'
)print
(bool([
]))print
('非空列表的布林值:'
)print
(bool([
1,2,
3]))
我們可以看出【0、』』、】的【布林值】為【false】,【1、『abc123』、[1, 2, 3]】的布林值為【true】。
在python中【布林值】為【false】的資料有:0、空的字串、空的列表或其他序列(例:空的字典)、none、false。
none表示『空』,就是沒有任何東西的意思,好比乙個空盒子,它的【布林值】為【false】。
除此之外所有資料的【布林值】都為【true】。
print
('2 > 1的布林值:'
)print(2
>1)
print
('1 > 2的布林值:'
)print(1
>2)
print
("'喵醬' == '喵醬'的布林值:"
)print
('喵醬'
=='喵醬'
)print
("'喵醬' == '小咖'的布林值:"
)print
('喵醬'
=='小咖'
)
我們都知道【2 > 1】肯定是正確的,所以輸出為【true】,反之【2 < 1】的輸出為【false】。
而【『喵醬』 == 『喵醬』】肯定是正確的,【『喵醬』 == 『小咖』】肯定是錯誤的,所以輸出分別為【true】和【false】。
?結論:比較運算返回的結果其實就是【布林值】。
其實【if語句】和【while迴圈】都需要乙個判斷條件,只有條件為【true】時,才會執行相應的**內容。
python中的邏輯運算子:and(與)、or(或)、not(非)。
?1、and(與):與運算子,並且的意思,兩者都為【true】時結果才為【true】。
# and運算,兩者都為true
print(1
and2
)print(2
and1
)# and運算,兩者都為false
print
(false
and0
)print(0
andfalse
)# and運算,有乙個為false
print(0
and2
)print(2
and0
)
可以看到輸出結果為:2、1、false、0、0、0
你可能會有疑問,為什麼執行的結果不是【true】或者【false】呢?
其實在根本上並沒有違背and邏輯運算的原則。前兩種的輸出的【布林值】其實就是【true】,而後四種的【布林值】其實就是【false】。
and運算的原則:
【and】前後兩者都為【true】時:輸出為後者,布林值為【true】。
【and】前後兩者都為【false】時:輸出為前者,布林值為【false】。
其中有乙個為【false】時:輸出值為【false】的資料,布林值為【false】。
所以【and】運算在兩者都為【true】時輸出才為【true】,只要有乙個不為【true】,輸出就為【false】。
?2、or(或):或運算子,或者的意思,兩者其中有乙個為【true】時結果就為【true】。
# or運算,兩者都為true
print(1
or2)print(2
or1)# or運算,兩者都為false
print
(falseor0
)print(0
o***lse
)# or運算,有乙個為false
print(0
or2)print(2
or0)
可以看到這次的輸出結果為:1、2、0、false、2、2
【or】運算只有當前後兩者的【布林值】都為【false】時輸出的【布林值】才為【false】。
or運算的原則:
【or】前後兩者都為【true】時:輸出為前者,布林值為【true】。
【or】前後兩者都為【false】時:輸出為後者,布林值為【false】。
其中有乙個為【true】時:輸出值為【true】的資料,布林值為【true】。
所以【or】運算只有在兩者都為【false】時才會輸出【false】,只要有乙個為【true】,輸出就為【true】。
?3、not(非):非運算子,取相反值的意思,將【true】輸出為【false】,【false】輸出為【true】。
【not true】就是【false】,【not false】就是【true】。取與原值相反的【布林值】。
# not運算,值為true
print
(not1)
# not運算,值為false
print
(not
0)
輸出結果為:false、true
not運算的原則:
輸出與原值相反的【布林值】,not(非)運算的輸出結果只能是【true】或【false】。
在乙個判斷語句中,當需要不滿足某個條件就執行相應的**時,可以使用【not】。
我們可以在迴圈中使用【if判斷】給定條件,當滿足某個條件時使用【break】結束迴圈。
# while true 語句會一直迴圈下去
num =
0while
true
:print
(num)
num = num +
1# 當num值為10時使用break結束迴圈
if num ==10:
break
【continue】語句同樣會使迴圈結束掉,但不是真正的『結束』,而是會從當前【continue】的位置跳回迴圈開始的地方,進行下一次迴圈。
# 『時空躍遷』系統
message =
input
('是否啟動『時空躍遷』(y/n):'
)while message ==
'y':
print
('您需要輸入四個id密碼!'
) id =
input
('請輸入第乙個id:'
)if id !=
'5858'
:print
('驗證失敗,請重新輸入!'
)continue
else
: id =
input
('第乙個id驗證通過!請輸入第二個id:'
)if id !=
'2727'
:print
('驗證失敗,請重新輸入!'
)continue
else
: id =
input
('第二個id驗證通過!請輸入第三個id:'
)if id !=
'3636'
:print
('驗證失敗,請重新輸入!'
)
第六關 迴圈語句練習題
購物車程式需求:
啟動程式,讓使用者輸入工資,然後列印商品列表;
允許使用者根據商品編號購買商品;
使用者輸入商品列表後檢測餘額是否足夠,夠就直接扣款,不夠就提醒;
使用者可以一直購買商品,也可以直接退出,退出後列印已購買商品和餘額;
解題思路:
①:先定義好商品列表,通過巢狀的方式
②:通過input語句獲取工資收入
③:定義while迴圈,列印商品列表
④:根據使用者的輸入判斷購買的商品或者是退出
⑤:在進行商品購買時,需要判斷工資餘額是否大於商品**
⑥:如果餘額大於商品**,把該商品加入購物車,購物車用乙個新的列表表示
⑦:退出時,結算購物車中的商品,列印最後的工資
python 布林運算
給定乙個布林表示式和乙個期望的布林結果 result,布林表示式由 0 false 1 true and or 和 xor 符號組成。實現乙個函式,算出有幾種可使該表示式得出 result 值的括號方法。示例 1 輸入 s 1 0 0 1 result 0輸出 2解釋 兩種可能的括號方法是1 0 0...
python布林系列 python 布林運算
python學習手冊 讀書筆記 真值測試 在python中 任何非零數字或非空物件都為真 數字零 空物件以及特殊物件none都被認作是假 比較和相等測試會遞迴地應用在資料結構中 比較和相等測試會返回true或false 1和0的特殊版本 布林and和or運算子會返回真或假的操作物件 python中有...
Python布林運算中0的問題
看到一些書裡面寫的,python中 and 和 or 的定義。比如老齊的那本書寫的是 但是對0有點問題,比如 false or 0 按上面的程式走下來,返回bool 0 應該是false,但實際返回是 0,書中偽 有問題,但是解釋沒問題,如果a的布林值是false,那麼返回的是b的值 a or b ...