前面两节课学习了for循环和while循环,为了更好地使用循环语句,本节课来讲讲布尔值和布尔运算。

一、布尔值

while循环是根据条件来做判断的,只要判断条件为真,就会一直执行循环。而判断结果有两种,True(真)和False(假),叫作【布尔值】。而判断条件真假的过程,叫作【布尔运算】。看下面的代码:

print(1>2)
print(1<2)
print('今天'=='明天')
print('今天'!='明天')

输出结果从上到下依次为:False、True、False、True。

前两行代码是对1和2两个数字的大小做比较,后两行是对‘今天’和‘明天’两个字符串做比较,相等便打印True,不相等打印False。

print()括号内的计算是【布尔运算】,打印出的结果True和False是【布尔值】。

再看下面的代码:

while True:
print('打印结果会一直循环!')

就像print()括号内的说明,【打印结果会一直循环!】这句话会被一直打印,因为while循环后面的条件是True,所以循环内的语句会被不停地执行。

如果while后面的条件是False,则不会有任何打印结果。因为条件为False时,所以循环没有执行就结束了。

【布尔值】对于条件判断语句if也适用,看下面的代码:

if True:
print('只会打印一次!')
if False:
print('没有打印结果!')

【if True】运行一次便结束,因此只打印一次【只会打印一次!】,不会进行循环。【if False】没有打印结果,直接结束判断。

二、布尔值的三种用法

1、数值的比较

前面说的print(1>2),计算机会先做一次布尔运算,判断1是否大于2,然后再把判断结果以【布尔值】的方式打印出来。

数值之间做比较的【布尔运算】,主要包含以下情况:

2、直接用数值做运算

看下面的代码:

if 1:
print('你好!')

运行后打印出【你好!】,之所以能打印出是因为if后面的条件为真。整数【1】作为一个条件,被判断为True。

之所以有这样的判断结果是因为python中已经设定好什么数据为真,什么为假。假的是有限的,除了假的,剩下的都是真的。

判断标准如下:

出现上图中左侧一列情况的,条件判断为假,比如False、0、None、{}等。

想要判断一个数据的真假,可以使用函数bool(),用法与type()相似。在bool()的括号中输入想要判断真假的数据,然后print()打印出来。

看下面的代码:

print(bool(False))
print(bool(0))
print(bool(''))
print(bool(None))

由于bool()括号中的条件判断均为假,因此打印出的结果都是【False】。

看下面代码:

print(bool(True))
print(bool(1))
print(bool('abc'))

由于bool()括号中的条件判断均为真,因此打印出的结果都是【True】。

3、布尔值之间的运算

布尔值之间的运算共有五种,分别是【and】、【or】、【not】、【in】、【not in】。

先说【and】和【or】运算,分别对应数学中的“且”和“或”。

【and】表示两者中有必须都为真才为真,有一者为假便为假。【or】表示,两者中有一者为真便为真,都为假才为假。

看下面的代码:

a = 1
b = -2
c = 0
if a>b and c:
print('False')
if a>b or c:
print('True')

【if a>b and c】没有打印结果,因为0的判断结果是False,在and运算中整个条件结果为False,不执行if条件判断的从句。

【if a>b or c】打印结果是【True】,因为a>b的判断结果是True,虽然0的判断结果是False,但是or运算中整个条件的结果为True,因此执行print()语句。

【and】和【or】计算逻辑总结如下:

接下来看【not】运算,用于表示相反的意思。比如【not True】等于【False】,【not False】等于【True】。

最后来说说【in】和【not in】运算。【in】的意思是判断一个元素是否在一堆数据之中,【not in】则相反。看下面的代码:

list = [1,2,3,4,5,6]
a = 1
b = -1
print(bool(a in list))
print(bool(b in list))
print(bool(b not in list))

打印的结果依次是True、False、True。

【in】和【not in】也可以用来判断字典中是否存在某个键,代码如下:

dict = {’汉堡‘:10,'薯条':5,'炸鸡':8}
food = ’汉堡‘
print(bool(food in dict))

三、一个例子

如何把布尔运算用于循环语句呢?

不知道你是否还记得第9课和第10课中用循环语句计算1+2+3+...+100之和的代码。没学布尔运算时,用while循环代码写成:

i = 100
sum = 0
while i > 0:
sum = sum + i
i = i - 1
print(sum)

学了布尔运算后,代码写成:

i = 100
sum = 0
while i:
sum = sum + i
i = i - 1
print(sum)

看上去区别不大,实际上第二种方法对计算机来说更简单,因为计算次数减少了。

本节课对于布尔值和布尔运算的讲解就到这里,下节课要讲的内容是循环中的四种语句。

喜欢的话请点赞和收藏 (●'◡'●)ノ