作者yimean (温柔杀手)
看板Python
标题[问题] if逻辑判断问题
时间Sun Jun 18 09:54:46 2017
各位版上的大大早安
今天看到一段有趣的程式码如下
x=4
y=2
if not 1+1==y or x==4 and 7==8:
print("yes")
elif x>y:
print("no")
执行结果是"no"
我的问题在於if逻辑运算式的结果应该是True or Fales
而not在这边指的不是反逻辑运算子吗?
也就是说在我看起来if判断式是没有完成的因为没有对等的比较运算元。
我是不是误会了些什麽?
可否请高手指导,感谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.195.99.225
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1497750889.A.BF5.html
1F:推 Django: not就是把False/True的值反转再来判断 06/18 10:32
2F:→ Django: 不过那一行没加括弧看起来毛毛的 06/18 10:33
3F:推 LessonWang: 优先顺序 not>and>or 06/18 10:34
4F:→ LessonWang: not 1+1==y 是False 06/18 10:36
5F:→ LessonWang: x==4 and 7==8 是False 06/18 10:36
6F:→ LessonWang: False or False 是False 06/18 10:37
7F:→ yimean: 所以当if判断式後方的结果是False就不会执行下方的内容 06/18 10:38
8F:→ yimean: 吗? 06/18 10:38
9F:推 LessonWang: 也就是 ((not 1+1==y) or (x==4 and 7==8)) 06/18 10:40
10F:→ LessonWang: if 後面的运算式 只有True才会执行 06/18 10:41
11F:→ yimean: 了解 感谢解惑 06/18 13:27
12F:推 fischcheng: 咦,elif冒号後面没indent当然会显示no啊 06/19 02:16