2.7 布尔型变量
一.布尔变量
布尔类型只有两种值:True或False。
True代表成立,False代表不成立。
考虑这样的命题:
1.今天没有下雨;
2.昨天是星期天;
3.那个是女孩
4.今年是闰年
这些命题都只有两个结果:成立或者不成立。也就对应于布尔类型的True和False。
i = 5j = 4print(i > j)
这里将打印True,i>j计算出来的就是布尔值,它要么成立要么不成立,也可以直接赋值
i=Truea=5b=4j=a<b #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=7print(a>6)
==指两边是否相等,!=是指两边是否不相等,这些表达式计算的结果,都是True或者False,也就是布尔类型。
这里要注意赋值运算和判断是否相等(==)的区别。赋值运算的意义我们已经知道了,==代表左边是否等于右边,如果相等那么计算结果是True,如果不相等计算结果就是False。
a=4b=5c=4print(a==b) #打印False,"a和b的值相等"这个命题不成立print(a==c) #打印True,"a和c的值相等"这个命题成立
不等于是 != 。左边和右边不相等,表达式的值就是True。例如5!=4,那么这个表达式的值是True,用通俗的话说就是5不等于4成立。
a=4b=5c=4print(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=12print(a%3==0) #打印True,因为12对3求余数为0,"a是3的倍数"成立a=14print(a%3==0) #打印False,因为14对3求余数为2,"a是3的倍数"不成立
这是另外一个例子,a不能被6整除,用关系表达式来表达,就是:a%6 != 0。 也就是a除以6的余数不等于0。如果a的值是6的倍数的时候,这个命题不成立。
a=12print(a%6 != 0) #打印False,因为12对6求余数为0,可以整除,"a不能被6整除"不成立a=14print(a%6 != 0) #打印True,因为14对6求余数为2,"a不能被6整除"成立