稳扎稳打,步步为营-----------逻辑运算

       将近一个月没有写博客了,不是没有在学习,而是每天的进度,让我转不过来,但学习容不得马虎,并且会了理论不一定会解决实际问题,就像数学,你会背定义,就一定会做关于这个定义的每一道题吗,但你不断的做题后,自己在遇到同样或者相似的问题就不会没有思路,我是个普通人,不断地刷经验,就是自己野蛮增长方式。废话不说,上菜。。。

      之前已经把逻辑运算的基本知识都写出来了,但在题目中往往的考点都是围绕着运算的优先顺序来做的。同类别的优先顺序,连续比较。不同类型的优先顺序的比较,就是混合类型的的比较。

先说连续比较,简单的讲就    a = 1  b = 2     c = 3

a < b < c   或    a < c > b    但实际情况a ,  b , c 肯什么都是函数,字符串,列表,元组而且中间还会有其他运算等等。

连续比较下优先级的顺序是 not > and > or    中间如果有基本运算的话先进行基本运算在进行比较运算 , 请看题:

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

先进行的就是1>1 , 3 < 4 , 4 > 5 , 2 > 1,  9 > 8 ,7 < 6    成立为True  不成立为 False

所以上题就变成了False  or  True  or  False  and  True  and  Ture  or  False

根据 not > and > or的优先级顺序先运算and 在运算or,在and中有一个为False就是输出False跟前后没关系,别管一个两个的方便咱自己记,找到自己能解决问题方式的就是王道 False  and  True 为False  。

在or中,有一个为Ture 的就都是对的,False  or  True  为Ture。False or False 为False。所以最后的结果为 True.。看看第二题吧

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

结果为False

第二点:and or的逻辑语句前后数值的运算关系,先运算and ,后运算 or 。以 x 和 y 为例 

and 前后的数值关系,当 x 为非零时,取第二个值。 若 y 为 0 时 则输出 0  ,当 x 为 0 时,取 0  。

or  前后的数值关系,当 x 为非零时,直接取x,当x = 0 时,直接取 y

例  (1) 8 or 3 and 4 or 2 and 0 or 9 and 7

(2)0 or 2 and 3 and 4 or 6 and 0 or 3
 

答案    (1)8      (2)4

       第三大点 混合类型的比较,bool < int < float < complex  。当两种不同类型的进行比较时,级别低的会转向级别高的进行比较 ,布尔值得True 得值为1 , False 的值为 0 。

例 6 or 2 > 1 ,       根据优先顺序先算2 > 1 为真 True,所以原题变为 6 or True 就是 6 or 1取6

(1)3 or 2 > 1                                           答案:3

(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)2 > 1 and 3                                          答案:3

(8)2 > 1 and 3                                            答案:0

 

3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
a=10
b=15
c=20
d=25
e=30
f=e//c
a-=b
f%=a
print(f>a and c//f or a*e)

最后一道题明天分享答案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值