Python小課——是對還是錯?布爾值與處理報錯——學(xué)習(xí)筆記(5)

布爾值只有兩種:True還有False,分別代表真與假。

#布爾值長這樣

True

False

True、False的首字母大寫,其他小寫,這是固定寫法,不要寫錯

可是大多數(shù)時候,布爾值并不會直接出現(xiàn)在代碼中……

布爾值更多時候以這三種形式活躍在代碼里

布爾值第一種情況:兩個數(shù)值在互相比較時



weather = input('請回答:今晚下雨or沒下雨')

if weather =='下雨':

? ? ? ? print('我和唐僧可以在一起。')

變量weather里的數(shù)據(jù) 和 ‘下雨’ 這個數(shù)據(jù)就是在做比較,如果兩個數(shù)據(jù)相等,就為真(True);不相等,就為假(False)。這就是布爾值出現(xiàn)的時刻。在 if 語句中,后面條件為真,即True,就會繼續(xù)執(zhí)行 if 下面的代碼。

兩個數(shù)值做比較,除了看兩個數(shù)值是否相等,還可以有其他類型的比較:

'長安'=='長安'#相等

'長安'!='金陵'#不相等,!= 代表不等于

3>5#大于

3<5#小于

如果使用print() 函數(shù),把這些數(shù)值比較的結(jié)果顯示在屏幕上,會顯示True或者是False。

第1行代碼:字符串'長安'和字符串'長安'做是否相等的比較,結(jié)果正確,所以打印為True。第2行代碼:字符串'長安'和字符串'金陵'做比較,結(jié)果不相等,【!=】代表不等號,結(jié)果正確,打印為True。

第3行代碼:整數(shù)3>整數(shù)5,這個比較的結(jié)果是錯誤的,所以打印為False。第4行代碼:整數(shù)3<整數(shù)5,這個比較的結(jié)果是正確的,所以打印為True。

總結(jié)一下:兩個數(shù)值做比較,主要包含以下情況:

主要記住前兩種【==】和【!=】,這兩種在條件判斷中用得非常多。還有大于【>】和小于【<】了,這都屬于數(shù)學(xué)常識了。

特別提醒大家一點:在代碼中,A == B表示A和B相等,“==”表示相等關(guān)系;而變量中的“=”表示賦值。

再次強調(diào),我們一般不會直接在代碼中寫下True或是False,但是它們會隱藏在代碼中,當(dāng)某些語句被判斷為真的時候,就執(zhí)行某些命令。


布爾值的第二種使用情況:數(shù)值本身作為一個條件,被判斷真假。

終端打印出了一個字符串'熊貓'。我們看看這兩行代碼,這是一段使用了條件判斷的代碼。因為終端打印出了'熊貓',說明 if 后面的條件為真。

if 后面接的不像是一個條件,而是一個數(shù)字。

整數(shù)1在這里就是作為一個條件,被判斷為真(True)。這就是數(shù)值本身作為一個條件,被判斷真假的情況。

Python中已經(jīng)設(shè)定好什么數(shù)據(jù)為真,什么為假。


這個表的左側(cè)一列,它們在Python中被判定為假,比如False、0、'' (空字符串)等等。

那么除了假的,其他就都是真的。比如上一個例子中出現(xiàn)的整數(shù)1,就是真的。

None,它代表的是空值,自成一派,數(shù)據(jù)類型是NoneType。要注意它和0的區(qū)別,0是整數(shù)0,可并非什么都沒有。

if '開心':

? ? ? ? print('熊貓')

if'':

? ? ? ? print('熊貓')

執(zhí)行這段程序時,終端會顯示一個'熊貓'字符串。

'開心'這個字符串作為一個條件時,被判定為真,所以if后面的條件滿足,計算機(jī)會執(zhí)行if的下一行代碼;而 ''(空字符串)本身作為一個條件時,被判定為假,if后面的條件為假,計算機(jī)不會執(zhí)行if的下一行代碼。

布爾值的第三種使用情況:布爾值的運算

會接觸到or、and、not三種運算

#以下為國師的要求

v1 = input('對方是達(dá)官顯貴嗎?')

v2 = input('對方是富可敵國嗎?')

if v1=='是達(dá)官顯貴' or v2=='是富可敵國':

? ? ? ? print('國師的要求通過了')

else:

? ? ? ? print('國師的要求沒通過')

新符號——【or】。or 連接著兩個布爾值,只要其中一個布爾值為真,運算結(jié)果就可以為真。or的中文是或。

國師對女王老公的要求是——要么是達(dá)官顯貴,要么是富可敵國,兩個條件,只要其中一個為真,就okay,這正是or的運算邏輯——兩個值中一個值為真,即為真。

女王陛下自己對丈夫的要求:

#以下為女王的要求

v3 = input('對方善良嗎?')

v4 = input('對方好看嗎?')

if v3=='善良'andv4=='好看':

? ? ? ? print('女王的要求通過了')

else:

? ? ? ? print('女王的要求沒通過')

【and】,表示且的意思。女王的要求是既要善良,也要好看,兩個條件,必須同時滿足,她才滿意?!綼nd】的運算邏輯:只有兩個條件都為真,才為真。



還有一個【not】,它只連接一個布爾值,表示相反的意思

a =5

b =-1

c =0

d =7

if a<b and c<d:

? ? ? ? print('True')

else:

? ? ? ? print('False')

終端會輸出False


報錯

當(dāng)你寫出的代碼在終端沒有運行出你想要的結(jié)果,而是出現(xiàn)了一大段莫名其妙的字符,這就是報錯。

我們看第一行文字,前面顯示的是這個py文件的路徑,然后紅框里的 "line 1" 意思是第一行代碼寫錯了。假如終端顯示的是"line 13"的話,就是說你前面12行都沒錯,從第13行開始出錯的。

然后看第二行文字:print('Hello world') 。是我們寫的代碼,并且在print 之后有個小小的三角指針。這意味著是這個地方出錯了。

繼續(xù)看第三行文字:SyntaxError: invalid character in identifier。這句話是計算機(jī)告訴我們,程序不能運行下去的理由,也就是報錯的理由。

我們可以去網(wǎng)上搜索"SyntaxError: invalid character in identifier" ,

看紅框中的小字:“請確保代碼行內(nèi)沒有夾雜中文的空格,tab等,非文字字符",我們甚至都不用點進(jìn)去,就可以做出合理的猜測:再結(jié)合指針指向的位置,我們思考,print 沒有寫錯,那這個括號是不是寫錯了?更改后,再次運行,就通過了。

這個小小的例子是想說明程序員也不是什么都記在腦子里,而是把必要的知識記住,遇到不懂的再上網(wǎng)查。

要學(xué)會閱讀報錯,然后思考自己哪里做錯了,并能適時借助搜索引擎的力量,找出報錯的原因。

在初學(xué)者的階段,我建議你在報錯時進(jìn)行這樣的操作。


作業(yè)

#布爾值的三種使用情況

#兩個值在互相比較時

weather = input('請回答:你今天開心嗎')

ifweather =='開心':

print('我也替你開心。')

#數(shù)值本身作為一個條件,被判斷真假。

if '開心':

? ? ? ? print(108)

if'':

? ? ? ? print(108)

if1:

? ? ? ? print(108)


#布爾值的運算

#國師的要求,二選一

v1 = input('對方是達(dá)官顯貴嗎?')

v2 = input('對方是富可敵國嗎?')

if v1=='是達(dá)官顯貴'orv2=='是富可敵國':

? ? ? ? print('國師的要求通過了')

else:

? ? ? ? print('國師的要求沒通過')

#女王的要求,都滿足

v3 = input('對方善良嗎?')

v4 = input('對方好看嗎?')

if v3=='善良'andv4=='好看':

? ? ? ? print('女王的要求通過了')

else:

? ? ? ? print('女王的要求沒通過')

終端

user1009@python-class:~/assignment/6$ python ~/assignment/6/main.py

請回答:你今天開心嗎開心

我也替你開心。

108

108

對方是達(dá)官顯貴嗎?是達(dá)官顯貴

對方是富可敵國嗎?不是

國師的要求通過了

對方善良嗎?善良

對方好看嗎?好看

女王的要求通過了




圖片發(fā)自簡書App

我一開始還擔(dān)心學(xué)不會,開課之后發(fā)現(xiàn)一點都不難,非常適合入門,寫出第一行代碼的時候超級自豪。想捉住人工智能機(jī)遇的人推薦來報名!

課程最大的特點和優(yōu)點,就是操作性強,并且能知道自己錯在哪里,較快的掌握枯燥的理論知識,也是我最喜歡的地方。對于我這個小白來說,真心良心產(chǎn)品,點贊點贊?。?!

知識點回顧

布爾值只有兩種:True還有False,分別代表真與假。

1.條件判斷(if,elif,else)就是要判斷真假對錯,可以通過客戶端的回答或者本已設(shè)定為正確與否的數(shù)字來判斷正確與否。

2.如果是直接的比較,就可以直接比較,直接顯示,正確就是True,錯誤就是False。

3.若是要判斷的條件有多個,也就是運用布萊爾運算,同時滿足兩個條件的用and(和),兩個里面滿足一個就可以的用or(或者)。

4.報錯:計算機(jī)告訴我們,程序不能運行下去的理由,也就是報錯的理由。適時借助搜索引擎的力量,找出報錯的原因。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容