条件のネスト(入れ子構造)は、プログラムの中で複数の条件を判断する際に、条件分岐の中にさらに別の条件分岐を入れる方法です。この手法を用いることで、より複雑なロジックを実装することができます。
条件のネストでは、if文の中に別のif文を配置します。基本的な構文は以下の通りです。
if 条件1:
# 条件1がTrueのときの処理
if 条件2:
# 条件1がTrueで、かつ条件2がTrueのときの処理
else:
# 条件1がTrueで、条件2がFalseのときの処理
else:
# 条件1がFalseのときの処理
以下のコードでは、学生の成績に基づいて合否を判断します。合格ラインは60点とし、80点以上の学生には「優秀」と表示します。
score = 75 # ここで学生の得点を設定
if score >= 60:
print("合格")
if score >= 80:
print("優秀です!")
else:
print("不合格")
score
変数に学生の得点を設定します。if
文で、得点が60点以上かどうかを判定します。もし得点が60点以上であれば、「合格」と表示します。if
文で得点が80点以上かどうかを確認します。80点以上の場合は「優秀です!」と表示されます。else
節が実行され、「不合格」と表示されます。次に、年齢に基づいてカテゴリを分ける例を見てみましょう。
age = 25 # ここで年齢を設定
if age < 13:
print("子供")
elif age < 20:
print("ティーンエイジャー")
else:
print("大人")
if age >= 65:
print("高齢者です。")
age
変数に年齢を設定します。if
文で年齢が13歳未満かどうかを判定し、該当する場合は「子供」と表示します。elif
文で年齢が20歳未満かどうかを判定し、該当する場合は「ティーンエイジャー」と表示します。else
節が実行され、「大人」と表示されます。if
文で65歳以上かどうかを判断し、該当する場合は「高齢者です。」と表示します。次の課題に取り組んでみましょう。
以下は、上記の課題に対する解答例です。
age = int(input("年齢を入力してください: "))
if age < 0:
print("無効な年齢です。")
elif age < 13:
print("子供")
elif age < 20:
print("ティーンエイジャー")
elif age < 65:
print("大人")
else:
print("高齢者です。")
条件のネストを使うことで、複雑な条件判定を行うことができ、プログラムのロジックをより柔軟に構築することが可能です。実際のプログラムでは、ネストされた条件を使って、さまざまな状況に対処できるようにしましょう。