Menu
Coddy logo textTech

ネストされた If - Else

CoddyのPythonジャーニー「基礎」セクションの一部。レッスン 23/77。

ネストされた If-Else 文を使うと、1つの if-else 文を別の if-else 文の中に配置して、複数の条件を確認できます。if ブロックを else ブロックの中にネストできます。これは Python で一般的かつ有効なパターンです。

基本的な if-else 文を作成します:

age = 18
title = "None"
if age >= 18:
    title = "Adult"
else:
    title = "Minor"

では、elseブロック内にネストされた条件を追加しましょう:

age = 18
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
else:
    title = "Minor"
    if age >= 13:
        title = "Teenager"
    else:
        title = "Child"

if ブロック内に条件をネストすることもできます。

age = 25
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
    if age >= 21:
        allowed_to_drink = True
    else:
        allowed_to_drink = False
else:
    title = "Minor"

どちらの例でも、内側の if-else は、それを含む外側の条件が満たされた場合にのみ実行されます。else ブロック(または if ブロック)の中に if 文を配置することは、まったく有効です。これがまさに「ネストされた」状態です。

challenge icon

チャレンジ

初心者

年齢と保護者の指導に基づいて、映画を視聴できるかどうかを判定するプログラムを書いてください。

与えられたコード(変更しないでください):

  1. 変数 age が定義され、入力から値が代入されています
  2. 変数 with_parent が定義され、ブール値が代入されています。入力が "true" の場合は True、入力が "false" の場合は False になります
  3. 変数 message が値 "None" で定義されています

課題:
ネストした if-else 文を使用して、message 変数に次のいずれかの文字列を設定してください:

  1. 年齢が18歳以上の場合、message"You can watch any movie" を設定します。
  2. 年齢が18歳未満の場合:
    1. with_parentTrue の場合、message"You can watch PG-13 movies" を設定します。
    2. with_parentFalse の場合、message"You can only watch G-rated movies" を設定します。

重要: with_parent はすでにブール値なので、直接チェックしてください(例:if with_parent:)。"true""True" のような文字列と比較してはいけません

重要:文字列は、大文字・小文字や句読点を含めて完全に一致させる必要があります。たとえば、"PG-13 Movies" ではなく、"PG-13 movies"('m' は小文字)を使用してください。

自分で試してみよう

# 年齢を整数として取得
age = int(input())

# 保護者の有無をブール値 (True/False) として取得
with_parent = input() == "true"

# 変数 message を "None" で宣言する
message = "None"

# ここにネストした if-else コードを書いてください


# この行より下は変更しないでください
print(message)
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ