if文に慣れてくると、条件を1つだけでなく組み合わせたくなります。
そのときに使うのが and、or、not です。
この記事では、3つの役割を初心者向けに整理します。
この記事でわかること
完成コード(まず見てみよう)
score = 78
is_member = True
if score >= 70 and is_member:
print("特典の対象です")
elif score >= 70 and not is_member:
print("合格ですが特典は対象外です")
else:
print("基準に届いていません")このコードはそのまま実行できます。score と is_member の値を変えると、結果の違いを確認できます。
テーマの説明(やさしく)
and は「両方とも当てはまるとき」です。
2つ以上の条件がすべて True なら、全体が True になります。
or は「どちらかが当てはまるとき」です。
1つでも True があれば、全体が True になります。
not は「反転」です。True を False に、False を True に変えます。
if文では、これらを使って条件を細かく作れます。
具体例・補足説明
まずは and の例です。
temperature = 26
is_sunny = True
if temperature >= 25 and is_sunny:
print("外で洗濯物を干します")次に or の例です。
is_holiday = False
finished_work = True
if is_holiday or finished_work:
print("映画を見ます")最後に not の例です。
is_raining = False
if not is_raining:
print("傘なしで出かけられます")not is_raining は「雨ではない」という意味になります。
おじちくワンポイント
最初は、条件を日本語に読み替えると理解しやすいです。and は「かつ」、or は「または」、not は「ではない」と読むと混乱を減らせます。
条件が長くなるときは、丸かっこで区切ると読みやすくなります。
よくある勘違い・注意点
練習問題
問題1
変数 age = 20 と has_ticket = True を使って、18歳以上かつチケットありなら「入場できます」と表示するコードを書いてみましょう。
問題2
変数 is_weekend = False と is_holiday = True を使って、土日または祝日なら「休みです」と表示するコードを書いてみましょう。
さらに not を使って「平日です」と表示する条件も作ってみましょう。