Menu
Coddy logo textTech

Вложенные конструкции if - else

Часть раздела Основы путешествия по Python на Coddy. Урок 23 из 77.

Вложенные операторы 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"

В обоих примерах внутренний оператор ifelse выполняется только тогда, когда выполняется внешнее условие, содержащее его. Размещение оператора if внутри блока else (или внутри блока 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_parent равно True, присвойте message значение "You can watch PG-13 movies".
    2. Если with_parent равно False, присвойте message значение "You can only watch G-rated movies".

Важно: Поскольку with_parent уже является логическим значением, проверяйте его напрямую (например, if with_parent:): не сравнивайте его со строкой, такой как "true" или "True".

Важно: Строки должны в точности совпадать, включая регистр и пунктуацию. Например, используйте "PG-13 movies" (с буквой 'm' в нижнем регистре), а не "PG-13 Movies".

Попробуйте сами

# Получить возраст как целое число
age = int(input())

# Получить родительское сопровождение как булево значение (True/False)
with_parent = input() == "true"

# Объявить переменную с именем message со значением "None"
message = "None"

# Напишите здесь свой вложенный код if-else


# Не изменяйте код ниже этой строки
print(message)
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Python