只是整理我的自然思路, 会有很多错误,还希望多多指正。
■ 例题: x = True y = False z = False if not x or y: print(1) elif not x or not y and z: print(2) elif not x or y or not y and x: print(3) else: print(4)
思路:
if not x or y:
- not 的理解: 不一样;
- or 的理解: 或者;
- 我对整个句子的理解:如果 与 x 不一样?或者与 y 不一样?
那这里要拿什么跟 x 与 y 比?
是 z?
elif not x or not y and z:
not x 理解: 与 x 不一样;
or not y and z: 理解:或者与 y, z不一样;
到底在拿什么,与x, y, z 这三个数据比?
elif not x or y or not y and x:
not x or y 理解:与 x 不同 或 与 y不同;
or not y and x 理解: 或与 y不同 或 与 x 不同;
在这里思维开始改变, 难道是
x 与 y 不同? 或者 y 与 x 不同?
整理最初条件
x = True
y = False
z = False
y = z = False != x
y 等于 z, 不等于 x
那么 x 与 y 不同 (成立)
y 与 x 不同 (成立)
>>> 输出 3
elif not x or not y and z:
再回看上面的
x 不同于 y 和 z
这个也成立啊, 为什么Python 运行结果会是3?
if not x or y:
再看这个也是 x 不等于 y, 也成立。
难道理解错了???
Python if else条件语句详解
看了一下定义,再次尝试理解
if 是 如果怎么样
elseif >>> 上面if 不满足的话 执行
if not x or y:
再次看这个语句,跟刚开始语句一样
python中not的用法
not x = False
or y = False ?
只要有 Ture, 就会优先输出 Ture
那么 not x = not Ture = Flase
or y = False
难道上面例子意思是 >>> 哪个是True, 就输出 哪个数?
整理:
哪个返还Ture >>> 就print哪个数。
验证:
x = True
y = False
z = Falseif not x or y:
not x >>> False = or y = False != True
>>> False
x = True
y = False
z = Falseelif not x or not y and z:
not x >>> False
not y >>> True
and z = False
not y != and z >>> False
x = True
y = False
z = Falseelif not x or y or not y and x:
not x >>> False
or y >>> False
not y >>> True
and x >>> True
not y == and x == True
>>> print (3) >>> 3