質問編集履歴

1

ChatGPTの回答を追記

2023/04/21 11:14

投稿

fuku-chann
fuku-chann

スコア82

test CHANGED
File without changes
test CHANGED
@@ -18,3 +18,20 @@
18
18
 
19
19
  2023.04.21 18:35 /Users/test.py:123 [1] <module> true
20
20
  2023.04.21 18:35 /Users/test.py:131 [2] <module> false
21
+
22
+ 以下ChatGPTの回答です。
23
+ and演算子の方がor演算子よりも優先順位が高いため、and演算子の評価が先に行われます。
24
+ 1. 括弧で囲まれた部分
25
+ 2. not
26
+ 3. and
27
+ 4. or
28
+
29
+ したがって、以下のように評価されます。
30
+
31
+ 1. "a" in menu を評価する。
32
+ 2. "b" in menu を評価する。
33
+ 3. "c" in menu を評価する。
34
+ 4. 3と"d" not in menuをand演算子で評価する。
35
+ 1〜4の結果をor演算子でつなげた結果を求める。
36
+ つまり、"4" not in menuの評価は3とand演算子でまとめて行われます。
37
+ Pythonではor演算子は左から右に評価され、左辺がTrueの場合は右辺の評価を行いません。