求结果:
v1 = 1 or 3
v2 = 1 and 3
v3 = 0 and 2 and 1
v4 = 0 and 2 or 1
v5 = 0 and 2 or 1 or 4
v6 = 0 or Flase and 1
得到结果分别为:1、3、0、1、1、False
这是什么写法、没有看懂,求解答
主要考察的是逻辑与和逻辑或的关系
v1 = 1 or 3
--> 逻辑或,1和3都是真的,1或3,取决于第一个,即1
v2 = 1 and 3
--> 逻辑与,1和3都是真的,取决于第二个,即3
v3 = 0 and 2 and 1
--> 逻辑与,0和2,取0; 0和1,取0,即0
v4 = 0 and 2 or 1
--> 逻辑与,0和2,取0; 0或1,取1,即1
v5 = 0 and 2 or 1 or 4
--> 逻辑与,0和2,取0; 0或1,取1;1或4,取1,即1
v6 = 0 or Flase and 1
--> 逻辑与,0和False,0 为False,可以是False
很多语言支持这种写法,我没记错的话C和JS也可以这样写,就是0表示false,大于0表示true。不过我觉得最好不要这样写,容易引起混乱。面试官太水才出这题。
or 为真时 返回第一个值
and 所有值为真是返回最后一个,若存在假值返回第一个
0 为False
赞
是顺序来的。先判断第一个,or为真就返回(and为假就返回),否则就返回第二个。
然后and和or都是逻辑运算符,级别相同,从左到右。
然后数字是0为假,其他为真。
布尔是True和False代表真假。
字符串是空字符('')为假,其他为真。
优先级关系:or<and<not