2.7 布尔型变量

一.布尔变量
布尔类型只有两种值:True或False。
True代表成立,False代表不成立。
考虑这样的命题:
1.今天没有下雨;
2.昨天是星期天;
3.那个是女孩
4.今年是闰年
这些命题都只有两个结果:成立或者不成立。也就对应于布尔类型的True和False。
i = 5
j = 4
print(i > j)
这里将打印True,i>j计算出来的就是布尔值,它要么成立要么不成立,也可以直接赋值
i=True
a=5
b=4
j=a<#j的值是False
上面的代码中,j是布尔类型,它代表的是“变量a小于b”这个判断,如果真的成立,那么c的值就是True;如果不成立,那么c的值就是False。就这段代码来说,是成立的。可以把j的值打印出来验证一下。
例如有这样的命题:24是奇数。不要在意这是错的,在逻辑上这个命题就是不成立。

布尔类型还有一个重要的特性:数字0的变量相当于False,其他数字相当于True。
布尔类型通常在条件语句中使用,在第三章会详细介绍。

二.关系运算符
布尔变量和关系运算联系紧密:关系运算符的计算结果就是布尔值。一共有6种关系运算:
关系运算符
意义
例子
<
小于
a<6
<=
小于等于
a<=6
>
大于
a>6
>=
大于等于
a>=6
==
等于
a==6
!=
不等
a!=6
例如当a的值是7的时候,表达式 a>6的值就是True。
a=7
print(a>6)

==指两边是否相等,!=是指两边是否不相等,这些表达式计算的结果,都是True或者False,也就是布尔类型。
这里要注意赋值运算和判断是否相等(==)的区别。赋值运算的意义我们已经知道了,==代表左边是否等于右边,如果相等那么计算结果是True,如果不相等计算结果就是False。
a=4
b=5
c=4
print(a==b) #打印False,"a和b的值相等"这个命题不成立
print(a==c) #打印True,"a和c的值相等"这个命题成立

不等于是 != 。左边和右边不相等,表达式的值就是True。例如5!=4,那么这个表达式的值是True,用通俗的话说就是5不等于4成立。
a=4
b=5
c=4
print(a != b) #打印True,"a和b的值不相等"这个命题成立
print(a != c) #打印False,"a和c的值不相等"这个命题不成立

下面是等于和不等于常用的场景:
a是3的倍数,意味着a能被3整除,用关系表达式来表达,就是a%3==0
a%3==0的值是True还是False,就要看a的值是什么了
a=12
print(a%3==0) #打印True,因为12对3求余数为0,"a是3的倍数"成立
a=14
print(a%3==0) #打印False,因为14对3求余数为2,"a是3的倍数"不成立
这是另外一个例子,a不能被6整除,用关系表达式来表达,就是:a%6 != 0。 也就是a除以6的余数不等于0。如果a的值是6的倍数的时候,这个命题不成立。
a=12
print(a%6 != 0) #打印False,因为12对6求余数为0,可以整除,"a不能被6整除"不成立
a=14
print(a%6 != 0) #打印True,因为14对6求余数为2,"a不能被6整除"成立