布爾值只有兩種:True還有False,分別代表真與假附鸽。
#布爾值長(zhǎng)這樣
True
False
True脱拼、False的首字母大寫瞒瘸,其他小寫坷备,這是固定寫法,不要寫錯(cuò)
可是大多數(shù)時(shí)候情臭,布爾值并不會(huì)直接出現(xiàn)在代碼中……
布爾值更多時(shí)候以這三種形式活躍在代碼里
布爾值第一種情況:兩個(gè)數(shù)值在互相比較時(shí)
weather = input('請(qǐng)回答:今晚下雨or沒下雨')
if weather =='下雨':
? ? ? ? print('我和唐僧可以在一起省撑。')
變量weather里的數(shù)據(jù) 和 ‘下雨’ 這個(gè)數(shù)據(jù)就是在做比較,如果兩個(gè)數(shù)據(jù)相等俯在,就為真(True)竟秫;不相等,就為假(False)跷乐。這就是布爾值出現(xiàn)的時(shí)刻肥败。在 if 語句中,后面條件為真愕提,即True馒稍,就會(huì)繼續(xù)執(zhí)行 if 下面的代碼。
兩個(gè)數(shù)值做比較浅侨,除了看兩個(gè)數(shù)值是否相等纽谒,還可以有其他類型的比較:
'長(zhǎng)安'=='長(zhǎng)安'#相等
'長(zhǎng)安'!='金陵'#不相等,!= 代表不等于
3>5#大于
3<5#小于
如果使用print() 函數(shù)如输,把這些數(shù)值比較的結(jié)果顯示在屏幕上鼓黔,會(huì)顯示True或者是False。
第1行代碼:字符串'長(zhǎng)安'和字符串'長(zhǎng)安'做是否相等的比較不见,結(jié)果正確澳化,所以打印為True。第2行代碼:字符串'長(zhǎng)安'和字符串'金陵'做比較稳吮,結(jié)果不相等肆捕,【!=】代表不等號(hào),結(jié)果正確盖高,打印為True慎陵。
第3行代碼:整數(shù)3>整數(shù)5眼虱,這個(gè)比較的結(jié)果是錯(cuò)誤的,所以打印為False席纽。第4行代碼:整數(shù)3<整數(shù)5捏悬,這個(gè)比較的結(jié)果是正確的,所以打印為True润梯。
總結(jié)一下:兩個(gè)數(shù)值做比較过牙,主要包含以下情況:
主要記住前兩種【==】和【!=】,這兩種在條件判斷中用得非常多纺铭。還有大于【>】和小于【<】了寇钉,這都屬于數(shù)學(xué)常識(shí)了。
特別提醒大家一點(diǎn):在代碼中舶赔,A == B表示A和B相等扫倡,“==”表示相等關(guān)系;而變量中的“=”表示賦值竟纳。
再次強(qiáng)調(diào)撵溃,我們一般不會(huì)直接在代碼中寫下True或是False,但是它們會(huì)隱藏在代碼中锥累,當(dāng)某些語句被判斷為真的時(shí)候缘挑,就執(zhí)行某些命令。
布爾值的第二種使用情況:數(shù)值本身作為一個(gè)條件桶略,被判斷真假语淘。
終端打印出了一個(gè)字符串'熊貓'。我們看看這兩行代碼际歼,這是一段使用了條件判斷的代碼惶翻。因?yàn)榻K端打印出了'熊貓',說明 if 后面的條件為真蹬挺。
if 后面接的不像是一個(gè)條件维贺,而是一個(gè)數(shù)字。
整數(shù)1在這里就是作為一個(gè)條件巴帮,被判斷為真(True)溯泣。這就是數(shù)值本身作為一個(gè)條件,被判斷真假的情況榕茧。
Python中已經(jīng)設(shè)定好什么數(shù)據(jù)為真垃沦,什么為假。
這個(gè)表的左側(cè)一列用押,它們?cè)赑ython中被判定為假肢簿,比如False、0、'' (空字符串)等等池充。
那么除了假的桩引,其他就都是真的。比如上一個(gè)例子中出現(xiàn)的整數(shù)1收夸,就是真的坑匠。
None,它代表的是空值卧惜,自成一派厘灼,數(shù)據(jù)類型是NoneType。要注意它和0的區(qū)別咽瓷,0是整數(shù)0设凹,可并非什么都沒有。
if '開心':
? ? ? ? print('熊貓')
if'':
? ? ? ? print('熊貓')
執(zhí)行這段程序時(shí)茅姜,終端會(huì)顯示一個(gè)'熊貓'字符串闪朱。
'開心'這個(gè)字符串作為一個(gè)條件時(shí)班缰,被判定為真儒拂,所以if后面的條件滿足,計(jì)算機(jī)會(huì)執(zhí)行if的下一行代碼;而 ''(空字符串)本身作為一個(gè)條件時(shí)航唆,被判定為假,if后面的條件為假院刁,計(jì)算機(jī)不會(huì)執(zhí)行if的下一行代碼糯钙。
布爾值的第三種使用情況:布爾值的運(yùn)算
會(huì)接觸到or、and退腥、not三種運(yùn)算
#以下為國師的要求
v1 = input('對(duì)方是達(dá)官顯貴嗎任岸?')
v2 = input('對(duì)方是富可敵國嗎?')
if v1=='是達(dá)官顯貴' or v2=='是富可敵國':
? ? ? ? print('國師的要求通過了')
else:
? ? ? ? print('國師的要求沒通過')
新符號(hào)——【or】狡刘。or 連接著兩個(gè)布爾值享潜,只要其中一個(gè)布爾值為真,運(yùn)算結(jié)果就可以為真嗅蔬。or的中文是或剑按。
國師對(duì)女王老公的要求是——要么是達(dá)官顯貴,要么是富可敵國澜术,兩個(gè)條件艺蝴,只要其中一個(gè)為真,就okay鸟废,這正是or的運(yùn)算邏輯——兩個(gè)值中一個(gè)值為真猜敢,即為真。
女王陛下自己對(duì)丈夫的要求:
#以下為女王的要求
v3 = input('對(duì)方善良嗎?')
v4 = input('對(duì)方好看嗎缩擂?')
if v3=='善良'andv4=='好看':
? ? ? ? print('女王的要求通過了')
else:
? ? ? ? print('女王的要求沒通過')
【and】鼠冕,表示且的意思。女王的要求是既要善良胯盯,也要好看供鸠,兩個(gè)條件,必須同時(shí)滿足陨闹,她才滿意楞捂。【and】的運(yùn)算邏輯:只有兩個(gè)條件都為真趋厉,才為真寨闹。
還有一個(gè)【not】,它只連接一個(gè)布爾值君账,表示相反的意思
a =5
b =-1
c =0
d =7
if a<b and c<d:
? ? ? ? print('True')
else:
? ? ? ? print('False')
終端會(huì)輸出False
報(bào)錯(cuò)
當(dāng)你寫出的代碼在終端沒有運(yùn)行出你想要的結(jié)果繁堡,而是出現(xiàn)了一大段莫名其妙的字符,這就是報(bào)錯(cuò)乡数。
我們看第一行文字椭蹄,前面顯示的是這個(gè)py文件的路徑,然后紅框里的 "line 1" 意思是第一行代碼寫錯(cuò)了净赴。假如終端顯示的是"line 13"的話绳矩,就是說你前面12行都沒錯(cuò),從第13行開始出錯(cuò)的玖翅。
然后看第二行文字:print('Hello world') 翼馆。是我們寫的代碼,并且在print 之后有個(gè)小小的三角指針金度。這意味著是這個(gè)地方出錯(cuò)了应媚。
繼續(xù)看第三行文字:SyntaxError: invalid character in identifier。這句話是計(jì)算機(jī)告訴我們猜极,程序不能運(yùn)行下去的理由中姜,也就是報(bào)錯(cuò)的理由。
我們可以去網(wǎng)上搜索"SyntaxError: invalid character in identifier" 跟伏,
看紅框中的小字:“請(qǐng)確保代碼行內(nèi)沒有夾雜中文的空格丢胚,tab等,非文字字符"酬姆,我們甚至都不用點(diǎn)進(jìn)去嗜桌,就可以做出合理的猜測(cè):再結(jié)合指針指向的位置,我們思考辞色,print 沒有寫錯(cuò)骨宠,那這個(gè)括號(hào)是不是寫錯(cuò)了浮定?更改后,再次運(yùn)行层亿,就通過了桦卒。
這個(gè)小小的例子是想說明程序員也不是什么都記在腦子里,而是把必要的知識(shí)記住匿又,遇到不懂的再上網(wǎng)查方灾。
要學(xué)會(huì)閱讀報(bào)錯(cuò),然后思考自己哪里做錯(cuò)了碌更,并能適時(shí)借助搜索引擎的力量裕偿,找出報(bào)錯(cuò)的原因。
在初學(xué)者的階段痛单,我建議你在報(bào)錯(cuò)時(shí)進(jìn)行這樣的操作嘿棘。
作業(yè)
#布爾值的三種使用情況
#兩個(gè)值在互相比較時(shí)
weather = input('請(qǐng)回答:你今天開心嗎')
ifweather =='開心':
print('我也替你開心。')
#數(shù)值本身作為一個(gè)條件旭绒,被判斷真假鸟妙。
if '開心':
? ? ? ? print(108)
if'':
? ? ? ? print(108)
if1:
? ? ? ? print(108)
#布爾值的運(yùn)算
#國師的要求,二選一
v1 = input('對(duì)方是達(dá)官顯貴嗎挥吵?')
v2 = input('對(duì)方是富可敵國嗎重父?')
if v1=='是達(dá)官顯貴'orv2=='是富可敵國':
? ? ? ? print('國師的要求通過了')
else:
? ? ? ? print('國師的要求沒通過')
#女王的要求,都滿足
v3 = input('對(duì)方善良嗎忽匈?')
v4 = input('對(duì)方好看嗎房午?')
if v3=='善良'andv4=='好看':
? ? ? ? print('女王的要求通過了')
else:
? ? ? ? print('女王的要求沒通過')
終端
user1009@python-class:~/assignment/6$ python ~/assignment/6/main.py
請(qǐng)回答:你今天開心嗎開心
我也替你開心。
108
108
對(duì)方是達(dá)官顯貴嗎脉幢?是達(dá)官顯貴
對(duì)方是富可敵國嗎歪沃?不是
國師的要求通過了
對(duì)方善良嗎嗦锐?善良
對(duì)方好看嗎嫌松?好看
女王的要求通過了
我一開始還擔(dān)心學(xué)不會(huì),開課之后發(fā)現(xiàn)一點(diǎn)都不難奕污,非常適合入門萎羔,寫出第一行代碼的時(shí)候超級(jí)自豪。想捉住人工智能機(jī)遇的人推薦來報(bào)名碳默!
課程最大的特點(diǎn)和優(yōu)點(diǎn)贾陷,就是操作性強(qiáng),并且能知道自己錯(cuò)在哪里嘱根,較快的掌握枯燥的理論知識(shí)髓废,也是我最喜歡的地方。對(duì)于我這個(gè)小白來說该抒,真心良心產(chǎn)品慌洪,點(diǎn)贊點(diǎn)贊!!冈爹!
知識(shí)點(diǎn)回顧
布爾值只有兩種:True還有False涌攻,分別代表真與假。
1.條件判斷(if,elif,else)就是要判斷真假對(duì)錯(cuò)频伤,可以通過客戶端的回答或者本已設(shè)定為正確與否的數(shù)字來判斷正確與否恳谎。
2.如果是直接的比較,就可以直接比較憋肖,直接顯示因痛,正確就是True,錯(cuò)誤就是False岸更。
3.若是要判斷的條件有多個(gè)婚肆,也就是運(yùn)用布萊爾運(yùn)算,同時(shí)滿足兩個(gè)條件的用and(和),兩個(gè)里面滿足一個(gè)就可以的用or(或者)坐慰。
4.報(bào)錯(cuò):計(jì)算機(jī)告訴我們较性,程序不能運(yùn)行下去的理由,也就是報(bào)錯(cuò)的理由结胀。適時(shí)借助搜索引擎的力量赞咙,找出報(bào)錯(cuò)的原因。