Python小课——是对还是错?布尔值与处理报错——学习笔记(5)

布尔值只有两种:True还有False,分别代表真与假。

#布尔值长这样

True

False

True、False的首字母大写,其他小写,这是固定写法,不要写错

可是大多数时候,布尔值并不会直接出现在代码中……

布尔值更多时候以这三种形式活跃在代码里

布尔值第一种情况:两个数值在互相比较时



weather = input('请回答:今晚下雨or没下雨')

if weather =='下雨':

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

变量weather里的数据 和 ‘下雨’ 这个数据就是在做比较,如果两个数据相等,就为真(True);不相等,就为假(False)。这就是布尔值出现的时刻。在 if 语句中,后面条件为真,即True,就会继续执行 if 下面的代码。

两个数值做比较,除了看两个数值是否相等,还可以有其他类型的比较:

'长安'=='长安'#相等

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

3>5#大于

3<5#小于

如果使用print() 函数,把这些数值比较的结果显示在屏幕上,会显示True或者是False

第1行代码:字符串'长安'和字符串'长安'做是否相等的比较,结果正确,所以打印为True。第2行代码:字符串'长安'和字符串'金陵'做比较,结果不相等,【!=】代表不等号,结果正确,打印为True。

第3行代码:整数3>整数5,这个比较的结果是错误的,所以打印为False。第4行代码:整数3<整数5,这个比较的结果是正确的,所以打印为True。

总结一下:两个数值做比较,主要包含以下情况:

主要记住前两种【==】和【!=】,这两种在条件判断中用得非常多。还有大于【>】和小于【<】了,这都属于数学常识了。

特别提醒大家一点:在代码中,A == B表示A和B相等,“==”表示相等关系;而变量中的“=”表示赋值。

再次强调,我们一般不会直接在代码中写下True或是False,但是它们会隐藏在代码中,当某些语句被判断为真的时候,就执行某些命令。


布尔值的第二种使用情况:数值本身作为一个条件,被判断真假。

终端打印出了一个字符串'熊猫'。我们看看这两行代码,这是一段使用了条件判断的代码。因为终端打印出了'熊猫',说明 if 后面的条件为真。

if 后面接的不像是一个条件,而是一个数字。

整数1在这里就是作为一个条件,被判断为真(True)。这就是数值本身作为一个条件,被判断真假的情况。

Python中已经设定好什么数据为真,什么为假。


这个表的左侧一列,它们在Python中被判定为假,比如False、0、'' (空字符串)等等。

那么除了假的,其他就都是真的。比如上一个例子中出现的整数1,就是真的。

None,它代表的是空值,自成一派,数据类型是NoneType。要注意它和0的区别,0是整数0,可并非什么都没有。

if '开心':

        print('熊猫')

if'':

        print('熊猫')

执行这段程序时,终端会显示一个'熊猫'字符串。

'开心'这个字符串作为一个条件时,被判定为真,所以if后面的条件满足,计算机会执行if的下一行代码;而 ''(空字符串)本身作为一个条件时,被判定为假,if后面的条件为假,计算机不会执行if的下一行代码。

布尔值的第三种使用情况:布尔值的运算

会接触到or、and、not三种运算

#以下为国师的要求

v1 = input('对方是达官显贵吗?')

v2 = input('对方是富可敌国吗?')

if v1=='是达官显贵' or v2=='是富可敌国':

        print('国师的要求通过了')

else:

        print('国师的要求没通过')

新符号——【or】。or 连接着两个布尔值,只要其中一个布尔值为真,运算结果就可以为真。or的中文是或。

国师对女王老公的要求是——要么是达官显贵,要么是富可敌国,两个条件,只要其中一个为真,就okay,这正是or的运算逻辑——两个值中一个值为真,即为真。

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

#以下为女王的要求

v3 = input('对方善良吗?')

v4 = input('对方好看吗?')

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

        print('女王的要求通过了')

else:

        print('女王的要求没通过')

【and】,表示且的意思。女王的要求是既要善良,也要好看,两个条件,必须同时满足,她才满意。【and】的运算逻辑:只有两个条件都为真,才为真。



还有一个【not】,它只连接一个布尔值,表示相反的意思

a =5

b =-1

c =0

d =7

if a<b and c<d:

        print('True')

else:

        print('False')

终端会输出False


报错

当你写出的代码在终端没有运行出你想要的结果,而是出现了一大段莫名其妙的字符,这就是报错。

我们看第一行文字,前面显示的是这个py文件的路径,然后红框里的 "line 1" 意思是第一行代码写错了。假如终端显示的是"line 13"的话,就是说你前面12行都没错,从第13行开始出错的。

然后看第二行文字:print('Hello world') 。是我们写的代码,并且在print 之后有个小小的三角指针。这意味着是这个地方出错了。

继续看第三行文字:SyntaxError: invalid character in identifier。这句话是计算机告诉我们,程序不能运行下去的理由,也就是报错的理由。

我们可以去网上搜索"SyntaxError: invalid character in identifier" ,

看红框中的小字:“请确保代码行内没有夹杂中文的空格,tab等,非文字字符",我们甚至都不用点进去,就可以做出合理的猜测:再结合指针指向的位置,我们思考,print 没有写错,那这个括号是不是写错了?更改后,再次运行,就通过了。

这个小小的例子是想说明程序员也不是什么都记在脑子里,而是把必要的知识记住,遇到不懂的再上网查。

要学会阅读报错,然后思考自己哪里做错了,并能适时借助搜索引擎的力量,找出报错的原因。

在初学者的阶段,我建议你在报错时进行这样的操作。


作业

#布尔值的三种使用情况

#两个值在互相比较时

weather = input('请回答:你今天开心吗')

ifweather =='开心':

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

#数值本身作为一个条件,被判断真假。

if '开心':

        print(108)

if'':

        print(108)

if1:

        print(108)


#布尔值的运算

#国师的要求,二选一

v1 = input('对方是达官显贵吗?')

v2 = input('对方是富可敌国吗?')

if v1=='是达官显贵'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

对方是达官显贵吗?是达官显贵

对方是富可敌国吗?不是

国师的要求通过了

对方善良吗?善良

对方好看吗?好看

女王的要求通过了




图片发自简书App

我一开始还担心学不会,开课之后发现一点都不难,非常适合入门,写出第一行代码的时候超级自豪。想捉住人工智能机遇的人推荐来报名!

课程最大的特点和优点,就是操作性强,并且能知道自己错在哪里,较快的掌握枯燥的理论知识,也是我最喜欢的地方。对于我这个小白来说,真心良心产品,点赞点赞!!!

知识点回顾

布尔值只有两种:True还有False,分别代表真与假。

1.条件判断(if,elif,else)就是要判断真假对错,可以通过客户端的回答或者本已设定为正确与否的数字来判断正确与否。

2.如果是直接的比较,就可以直接比较,直接显示,正确就是True,错误就是False。

3.若是要判断的条件有多个,也就是运用布莱尔运算,同时满足两个条件的用and(和),两个里面满足一个就可以的用or(或者)。

4.报错:计算机告诉我们,程序不能运行下去的理由,也就是报错的理由。适时借助搜索引擎的力量,找出报错的原因。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容