笨办法学Python-----习题28_练习布尔表达式
这节疯狂练习布尔表达式,在python终端输入这些表达式的时候都会有判断结果,为了方便就写成脚本文件运行确啥都没有,这个问题还真不好查找。
总之判断一定要快和准确,可以参照下面流程判断复杂的布尔表达式:
找到“==”和“!=”,写成真值
找到括号里的and/or,算真值
找到每一个not,取反真值
找到剩下的and/or,得到结果
列出所有的“相等运算符”:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 true |
>= | 大于等于 - 返回x是否大于等于y | (a >= b) 返回 False |
<= | 小于等于 - 返回x是否小于等于y | (a <= b) 返回 true |
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
注意:短路逻辑的应用,如果and语句中有False那肯定就是False;如果or语句有True那就是True,但是初学还是要确保能理解整个语句。
注意:给布尔表达式返回两个被操作对象中的一个,而不是True或False。这个真不好理解。经过一番思考好像理解了!!:其实就和前面的短路逻辑也有联系:
使用and的时候:如果and前面的是0或者Flase,后面的不用看结果也应该是False或者0;如果前面的不是这两个,就会检测后面的对象,后面的对象如果是0或者False就是这俩,如果也是真值,那就直接返回这个操作对象了:
使用or的时候:如果前面的是真值,直接忽略后面的返回前面的对象;如果前面的是0或者False,就会检测后面的对象,是真值返回真值,否则返回后面的0或者False:
学习感悟:这节就是布尔表达式的练习,有一点真的难理解啥意思,“返回两个被操作对象中的一个?”,不过通过大量尝试起码弄出来个好记得方法,先这样记着~~