【Python基礎】ネストしたif文(入れ子の条件分岐)の書き方

ネストif(入れ子の条件分岐)

if文の中にさらにif文を書くことを ネスト(入れ子) と呼びます。「AかつB」のような複合条件を表現できます。

1. 基本のネスト構造

is_member = True
points = 150

if is_member:
    print("会員様です")
    if points >= 100:
        print("ゴールド会員特典が適用されます!")
    else:
        print("あと少しでゴールド会員です")
else:
    print("会員登録をご検討ください")
▶ 出力結果

会員様です
ゴールド会員特典が適用されます!

2. ネストが深すぎる場合:and演算子で改善

ネストが深くなるとコードが読みにくくなります。and を使って1行にまとめる方法もあります(詳しくは次章)。

age = 25
has_id = True

# ネストで書いた場合
if age >= 18:
    if has_id:
        print("入場できます(ネスト版)")

# and で1行にまとめた場合(同じ意味)
if age >= 18 and has_id:
    print("入場できます(and版)")
▶ 出力結果

入場できます(ネスト版)
入場できます(and版)

3. 実用例:簡易ログイン判定

username = "admin"
password = "pass123"

if username == "admin":
    if password == "pass123":
        print("ログイン成功!管理者として入室します。")
    else:
        print("パスワードが違います。")
else:
    print("ユーザー名が見つかりません。")
▶ 出力結果

ログイン成功!管理者として入室します。
< 前の記事インデントの重要性(再確認)
次の記事 >7. 論理演算とブール型

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール