Python | not 演算子

Python
スポンサーリンク

では、プログラミング初心者向けに not 演算子の練習問題を作り、すぐに確認できるよう 解答付きでまとめます。


練習問題 1:単純な反転

変数 flagTrue のとき、not flag の結果は?

flag = True
print(not flag)  # ?
Python

解答:

False

解説:flagTrue なので not flagFalse に反転。


練習問題 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 > 10Falsenot によって True になる。


練習問題 4:条件分岐に使う

変数 is_logged_in = False のとき、「ログインしていない場合だけメッセージを出す」条件を書こう。

is_logged_in = False

if not is_logged_in:
    print("ログインしてください。")
Python

解答:
出力:

ログインしてください。

解説:is_logged_inFalsenot is_logged_inTrue → 条件が成立して表示される。


練習問題 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 = 0lst = [] のとき、not numnot lst はそれぞれ何になる?

num = 0
lst = []

print(not num)  # ?
print(not lst)  # ?
Python

解答:

True
True

解説:0 や空リストは falsy なので、not で真 (True) に反転。


練習のコツ

  • not「反対の真偽」 を返すだけ
  • falsy の値(0, “”, [], {}, None など)は notTrue
  • 条件式が複雑になったら括弧 () を使って明確にする
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました