布尔值只有两种: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
对方是达官显贵吗?是达官显贵
对方是富可敌国吗?不是
国师的要求通过了
对方善良吗?善良
对方好看吗?好看
女王的要求通过了
我一开始还担心学不会,开课之后发现一点都不难,非常适合入门,写出第一行代码的时候超级自豪。想捉住人工智能机遇的人推荐来报名!
课程最大的特点和优点,就是操作性强,并且能知道自己错在哪里,较快的掌握枯燥的理论知识,也是我最喜欢的地方。对于我这个小白来说,真心良心产品,点赞点赞!!!
知识点回顾
布尔值只有两种:True还有False,分别代表真与假。
1.条件判断(if,elif,else)就是要判断真假对错,可以通过客户端的回答或者本已设定为正确与否的数字来判断正确与否。
2.如果是直接的比较,就可以直接比较,直接显示,正确就是True,错误就是False。
3.若是要判断的条件有多个,也就是运用布莱尔运算,同时满足两个条件的用and(和),两个里面满足一个就可以的用or(或者)。
4.报错:计算机告诉我们,程序不能运行下去的理由,也就是报错的理由。适时借助搜索引擎的力量,找出报错的原因。