<一覧に戻る

条件のネスト(入れ子構造)

Pythonの条件分岐(if文)は、プログラムを柔軟に制御するための基本的な機能です。 その中でも条件のネストは重要な考え方です。ネストとは、if文の中にさらにif文を入れることを意味します。

これを使うと条件の中の条件を表現でき、複雑な判断が必要なプログラムをシンプルに書けます。

例えば、学校の成績判定、年齢によるカテゴリ分け、ユーザーの入力内容に応じた処理など、日常的に使う場面が多いです。 Pythonを学ぶ初心者が最初に躓きやすい部分でもあるので、しっかり理解しておきましょう。

基本的な構文

条件のネストでは、if の中に別の if を書きます。インデント(字下げ)をそろえることが非常に重要です。

if 条件1:
    # 条件1がTrueのときの処理
    if 条件2:
        # 条件1がTrueで、かつ条件2がTrueのときの処理
    else:
        # 条件1がTrueで、条件2がFalseのときの処理
else:
    # 条件1がFalseのときの処理

【ポイント】

  • 外側の if がTrueのときだけ、内側の条件が評価されます。
  • ネストを使うと、より細かい分岐処理を実現できます。

サンプルコード1:成績の判定

以下のコードでは、学生の成績に基づいて合否を判断します。 合格ラインは60点とし、80点以上の学生には「優秀」と表示します。

score = 75  # ここで学生の得点を設定

if score >= 60:
    print("合格")
    if score >= 80:
        print("優秀です!")
else:
    print("不合格")

まず、scoreに点数を代入します。 if文で、60点以上なら「合格」と表示。 さらにその中でif文を定義し、80点以上なら「優秀です!」と追加表示します。。 elseで、60点未満なら「不合格」と表示されます。

このように「合格の中でもさらに優秀かどうか」といった条件を表現できるのがネストの強みです。

サンプルコード2:年齢によるカテゴリ分け

次に、年齢に基づいてカテゴリを分ける例を見てみましょう。

age = 25  # ここで年齢を設定

if age < 13:
    print("子供")
elif age < 20:
    print("ティーンエイジャー")
else:
    print("大人")
    if age >= 65:
        print("高齢者です。")
  • 13歳未満 → 「子供」
  • 20歳未満 → 「ティーンエイジャー」
  • 20歳以上 → 「大人」と表示し、さらに65歳以上なら「高齢者です」と表示

このように、外側の else の中に内側の if を置くことで、条件を細かく分けられます。

まとめ

今回学習した内容は、以下の通りです。

  • 条件のネスト(入れ子構造)を使うと、ある条件を満たした中でさらに細かく分岐といった処理が可能になります。
  • Python初心者にとってはインデントの理解がカギ。字下げを間違えるとエラーになるので注意しましょう。
  • 成績判定や年齢判定など、実生活に近い例を通して練習することで理解が深まります。

Pythonのif文はプログラミングの基礎であり、初心者向けのPython学習サイトでも必ず扱われる重要テーマです。条件分岐を使いこなせると、より実用的なアプリやシステムに応用できるようになります。

出力結果: