0 or 1,1 and 0

最近小编遇到很头疼的的一件事

就是以下这几道运算题 ,以下结果是小编经过大量的运算得出的

一.或运算

1.0 or 1

  结果为:1

2.1 or 0

  结果为:1

3.1 or 2

  结果为:1

4.2 or 1

  结果为:2

5.0 or []

  结果为:[]

6.[] or 0

  结果为:0

二.与运算

1.0 and 1

  结果为:0

2.1 and 0

  结果为:0

3.1 and 2

  结果为:2

4.2 and 1

  结果为:1

5.' ' and 0

  结果为:' '

6.0 and ' ' 

  结果为:0

三.混合运算

1.1 < ( 2 == 2)

  结果为:False   这道题就不用多说了,2==2为True,True换成数字为1,1<1明显为Flase

2.1 < 2 == 2

  结果为:True 

   按照正常思路,比较运算优先级比等于优先级高,所以这道题先算1 < 2 为True,True为1,1不等于2,所以为Flase

  但是,答案明明就是True,实际上这道题是这样算的:

  1 < 2 and 2 == 2  这样一转变,是不是立马就明白了 

  因为逻辑运算优先级低,所以最后运算为:True and True

总结:

  1.or:或运算的两边,有真则真;若都为真,则选前者;若都为假,则选后者;

  2.and:与运算的两边,有假则假;若都为真,则选后者;若都为假,则选前者;

  3.混合运算时,应当考虑运算符优先级的问题,当有括号时,先算括号内的运算

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不止于python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值