Python布尔运算与逻辑运算

Python布尔运算与逻辑运算

布尔运算

Python中,布尔运算与C语言一样,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断。
对于两个数4与9,人可以通过主观直接判断9>4成立,然而,对于计算机而言,它怎么去判别或者去描述9>4是否成立?
是的,这时就需要引入布尔运算了!先介绍个例子:
a = 4
b = 9
print(a > b)    # a > b 不成立,即打印结果为False 
>>>  False 
print(a < b)    # a < b 成立,即打印结果为True  
>>>  True

所以从上面结论可以看出,计算机运算结果以True 与 False 分别来表示真假,即布尔运算结果。

逻辑运算

1.优先级:
在Python中,逻辑运算由 and,or,not来表示。在没有括号()的情况下,逻辑运算的优先级顺序为:not > and > or ,在有括号下,其优先级顺序为:() > not > and > or。且计算顺序按照从左往右顺序。下面介绍几个例子,判断下列逻辑语句的True,False。

 -  1 > 3 or 5 < 2 and 1 == 1
 -  4 < 7 and 2 < 3 or 1 > 2 
 -  3 > 1 and 5 < 7 or 2 > 5 and 4 < 3
 -  1 > 2 and 6 < 7 or 2 > 5 and 5 > 3 or 9 < 8
 -  1 > 1 and 2 < 4 or 7 > 9 and 6 > 5 and 4 > 3 or 5 < 3
 -  not 2 > 1 and 3 < 4 or 2 > 5 and 5 > 3 and 9 > 3 or 8 < 5

2 . 带数字的逻辑运算
假设x 与 y 分别为一数字,则 x or y, x and y 的结果可表示为:
x or y: 1 . 若x 为非0,不管y为多少,都不用去管y,其结果为 x,
2 . 若x 为0,其值就只取y的值。
x and y: 1 . 若x 为0,不用去管y,值一定为0.
2 . 若x 不为0,其结果就取y.

  8 or 4
  0 and 3
  0 or 4 and 3 or 7 or 9 and 6  

布尔运算与逻辑运算共存

通常情况下,运算既包含布尔运算又包含逻辑运算,此时问题比较复杂,如何去判断呢?本文先举几个例子来分析:

1)、6 or 2 > 1       6
2)、0 or 5 < 4       False
3)、5 < 4 or 3       3
4)、2 > 1 or 6       True
5)、3 and 2 > 1      True
6)、0 and 3 > 1       0
7)、3 > 1 and 0        0
8)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2        2

分析:第1题:先判断布尔运算, 2>1结果为True ,再与6或即(6 or True),根据上文逻辑运算,x=6,所以不用去看True,结果为:6.
第2题: 由于 x=0,所以其结果为y的结果,即 5 < 4的结果,其结果为False 所以结果为False.
第3,4题:判断同第2题。
第5题:由于x = 3,所以其结果为y的结果,即 2 > 1,结果为True.
第6题:由于x = 0,顾不用判断,其值即为x的值,0.
第7题:判断如第5题。
第8题:按优先级先计算and 两侧,再按从左往右计算:
2 or 0 and 4 or 1 —->>> 2 or 0 or 1 —–>>> 2 其结果为:2.
综上所述:通过以上步骤分析,理好思路,按照优先级顺序,再比较布尔运算和逻辑运算分别得到的结果,即可轻而易举得到正确的结果。

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值