if 文の条件式の中の or と and の挙動について教えてください

図を書いてみるとわかりやすいかもしれません。
2023年2月28日
ユーザー
if not(eng_score == 0 or math_score == 0):

は、英語の点数、または数学の点数が 0 じゃない時に if の処理を実行
どちらかが 0 だと else を実行する解釈しました。

そこで、if not(eng_score == 0 and math_score == 0):
と書いても同じ実行になるかと思いきや、英語か数学どちらかが 1 以上のスコアだった場合も if の処理を実行します。

なぜでしょうか?
教えていただきたいです。よろしくお願い致します。

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(1)