制御構文 中級

20. ネストされたif文

ネストされたif文

if文の中に、さらに別のif文を書くこともできます。これを「ネスト(入れ子)」と呼びます。「外側の条件をクリアした人だけ、さらに内側の条件をチェックする」というように、段階を踏んだ判定をしたいときに使います。インデントが1段深くなるごとに、その分だけ条件の階層も1段深くなるとイメージすると理解しやすいです。

💡 ヒント:ネストが3段、4段と深くなってくると、コードがどんどん読みにくくなります。多くの場合は and でひとまとめの条件にできないか、一度立ち止まって考えてみる価値があります。

サンプルコード

age = 20
has_id = True
if age >= 20:
    if has_id:
        print('購入できます')
    else:
        print('身分証が必要です')
else:
    print('購入できません')
外側のif(age >= 20)がTrueのときにだけ、内側のif(has_id)の判定に進みます。今回はどちらもTrueなので、最終的に「購入できます」が表示されます。

📝 練習問題

練習問題:num > 0を満たす場合のみ、さらにnumが偶数かどうかを判定して「正の偶数です」と表示してください。