では、プログラミング初心者向けに not 演算子の練習問題を作り、すぐに確認できるよう 解答付きでまとめます。
練習問題 1:単純な反転
変数 flag が True のとき、not flag の結果は?
flag = True
print(not flag) # ?
Python解答:
False
解説:flag は True なので not flag は False に反転。
練習問題 2:空文字列
変数 s が空文字列 "" のとき、not s の結果は?
s = ""
print(not s) # ?
Python解答:
True
解説:Python では空文字列は falsy(偽扱い)なので、not によって真 (True) に反転。
練習問題 3:比較式の否定
変数 x = 7 があるとき、x > 10 の結果を not を使って反転してみよう。
x = 7
print(not (x > 10)) # ?
Python解答:
True
解説:x > 10 は False、not によって True になる。
練習問題 4:条件分岐に使う
変数 is_logged_in = False のとき、「ログインしていない場合だけメッセージを出す」条件を書こう。
is_logged_in = False
if not is_logged_in:
print("ログインしてください。")
Python解答:
出力:
ログインしてください。
解説:is_logged_in が False → not is_logged_in が True → 条件が成立して表示される。
練習問題 5:複数条件の否定(ド・モルガン)
変数 a = True, b = False のとき、not (a or b) と (not a) and (not b) は同じか?
a = True
b = False
print(not (a or b)) # ?
print((not a) and (not b)) # ?
Python解答:
False
False
解説:ド・モルガンの法則により等価。not (A or B) は (not A) and (not B) に書き換え可能。
練習問題 6:応用(数字と空リスト)
変数 num = 0、lst = [] のとき、not num と not lst はそれぞれ何になる?
num = 0
lst = []
print(not num) # ?
print(not lst) # ?
Python解答:
True
True
解説:0 や空リストは falsy なので、not で真 (True) に反転。
練習のコツ
notは 「反対の真偽」 を返すだけ- falsy の値(0, “”, [], {}, None など)は
notでTrueに - 条件式が複雑になったら括弧
()を使って明確にする

