Pythonを使ったプログラミングでは、条件分岐(if文)を使って「ある条件を満たしたときに処理を実行する」という書き方を頻繁に行います。 しかし、現実の状況は単純な条件だけでは判断できないことが多いですよね。
例えば「年齢が18歳以上で、かつ利用許可を持っている人だけがログインできる」や「週末または祝日はお休み」など、複数の条件を組み合わせて考える必要があります。
複数条件の組み合わせを理解するために、まずはシンプルな例を見てみましょう。
age = 25
has_permission = True
if age >= 18 and has_permission:
print("アクセスが許可されました。")
else:
print("アクセスが拒否されました。")
このコードは「年齢が18歳以上」かつ「許可がある」場合のみアクセスを許可しています。両方がそろわなければ条件を満たさないため、きびしい条件判定に適しています。
is_weekend = True
is_holiday = False
if is_weekend or is_holiday:
print("今日はお休みです。")
else:
print("今日は働かなければなりません。")
この場合は「週末である」または「祝日である」どちらかがTrueなら条件を満たします。orを使うと柔軟に条件を緩和できるのが特徴です。
現実的なルールでは、単純な and や or だけでは表せない場合があります。そのときに使えるのが、and と or の組み合わせです。 次の例では「18歳以上かつ学生である」または「会員ランクがゴールド以上」であれば割引を受けられるというルールを表現しています。
age = 20
is_student = True
membership_rank = "silver"
if (age >= 18 and is_student) or membership_rank == "gold":
print("あなたは割引を受けることができます。")
else:
print("割引を受けることはできません。")
このコードでは、age >= 18 and is_student が True であれば割引が適用されます。 たとえ学生でなくても、membership_rank == "gold" が True であれば割引が適用されます。
つまり、複数の条件を自由に組み合わせることで、現実のルールをそのままコードに落とし込むことが可能になります。
実際のプログラムでは、複数の論理演算子を組み合わせることもよくあります。括弧を使って優先順位をはっきりさせることで、意図した通りの条件分岐が可能です。
# 条件を定義
temperature = 30
is_sunny = True
is_holiday = False
is_raining = False
# and, or, not を組み合わせた条件分岐
if (temperature > 25 and is_sunny) or (is_holiday and not is_raining):
print("ビーチに行こう!")
else:
print("今日はお家でのんびり。")
このコードでは「気温が25度より高く、かつ晴れている」または「 休日であり、なおかつ雨が降っていない場合」という条件を組み合わせています。 全体では (A and B) or (C and not D) の形になっており、どちらかの条件が真なら「ビーチに行こう!」と表示されます。
複数の条件を組み合わせるときは、以下のポイントを意識するとわかりやすいコードになります。
条件式はプログラムの流れを決める重要な部分です。しっかり理解すれば、ユーザー管理やアクセス制御、データ処理の分岐など、より実践的なプログラミングができるようになります。
Pythonでは、and / or / not を使って複数の条件を組み合わせることで、現実に近い複雑な判断をコードで表現できる ようになります。
複数条件を使ったif文は、Pythonを学ぶ上で欠かせない重要スキルです。 ぜひ自分の生活の中のルールを例にしながら、条件式を作ってみてください。