0 or 1,1 and 0

Posted mswyf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.混合运算时,应当考虑运算符优先级的问题,当有括号时,先算括号内的运算

以上是关于0 or 1,1 and 0的主要内容,如果未能解决你的问题,请参考以下文章

Scheme中用“and”和“or”编写程序

二进制运算怎么算呀

python关系运算符orand注意点

Django:使用 Q 对象对任意数量的输入进行动态过滤(OR & AND)

CREW 和 EREW 婴儿车上的布尔 OR 和 AND 问题

NNT FWT(xor or and) 模板