作者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/m.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