Конструкция elif

Тренажер по Python для пользователей с начальным уровнем подготовки.

Тренажер по Python

Конструкция `elif` (сокращение от "else if") — это мощный инструмент в Python, который позволяет проверять несколько условий подряд, одно за другим. Если первое условие `if` ложно, Python переходит к проверке условия в `elif`. Если и оно ложно, он движется к следующему `elif` и так далее, пока не найдет истинное условие или не дойдет до блока `else` (если он есть). Это помогает создавать понятные и не громоздкие проверки, избегая излишней вложенности. В этом тренажере мы научимся правильно использовать `elif` для создания разветвленных сценариев, разберем типичные ошибки и поймем логику выполнения таких конструкций.

Список тем

Добавляем промежуточное условие

id: 39978_task_replace_1

Перед вами код, который определяет, является ли число положительным или нет. Дополните его, чтобы он отдельно обрабатывал случай, когда число равно нулю. Для этого используйте конструкцию `elif`.

Заполните пропуски
number = 0

if number > 0:
    print("Число положительное")
input1S input2S:
    print("Число равно нулю")
else:
    print("Число отрицательное")
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Какой путь выберет программа?

id: 39978_task_predict_1

Проанализируйте код, который выставляет оценку на основе набранных баллов. Python выполнит только первый блок, условие которого окажется истинным. Что будет выведено на экран?

Выберите правильный вариант ответа
score = 85

if score > 90:
    print("Отлично")
elif score > 80:
    print("Хорошо")
elif score > 70:
    print("Удовлетворительно")
else:
    print("Неудовлетворительно")
Сообщения
Проверить
Показать подсказку

Исправьте синтаксическую ошибку

id: 39978_task_error_1

В этом коде допущена распространенная ошибка, которую делают те, кто приходит из других языков программирования. В Python нет конструкции `else if`. Найдите и исправьте эту строку.

Найдите ошибку и исправьте
command = "run"
 
if command == "start":
    print("Запускаем процесс...")
else if command == "run":
    print("Процесс уже запущен.")
else:
    print("Неизвестная команда.")
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Что будет выведено на экран?

id: 39978_task_give_result_1

Перед вами программа, которая определяет возрастную категорию пользователя. Внимательно проследите за логикой и определите, что выведет программа для указанного возраста. Введите ответ в поле.

Что должно получиться?
age = 15

if age < 13:
    print("Ребенок")
elif age < 18:
    print("Подросток")
else:
    print("Взрослый")
Сообщения
Проверить
Показать подсказку

Соберите условную конструкцию

id: 39978_task_bfp_1

Восстановите правильный порядок строк, чтобы получился скрипт, определяющий тип дня (выходной или рабочий). Одна из строк лишняя и не нужна для решения задачи.

Перетяните в правильном порядке строки из одного блока в другой
print("Ура, выходной!")
elif day == "Sunday":
day = "Sunday"
    print("Скоро на работу...")
else:
if day == "Saturday":
    print("Это рабочий день.")
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Соберите симулятор светофора из банка

id: 39978_task_bank_1

Используя элементы из банка, соберите программу, которая имитирует поведение на светофоре. Перетащите ключевые слова и команды в нужные места. В банке есть лишние элементы.

Нужно правильно расставить в пропуски предложенные варианты
color = "yellow"

if color == "green":
    print("Можно ехать")
input1S:
    print("Внимание!")
input2S:
    print(input3S)
elif color == "yellow"
else
"Стоп!"
if color == "red"
"Ехать"
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Ловушка в условии

id: 39978_task_predict_2

Внимательно прочтите код. Помните, что Python выполняет только первый истинный блок в цепочке `if/elif/else` и сразу после этого выходит из всей конструкции. Что выведет этот код?

Выберите правильный вариант ответа
num = 10

if num > 5:
    print("Больше 5")
elif num > 0:
    print("Больше 0")
else:
    print("Не больше 0")
Сообщения
Проверить
Показать подсказку

Найдите ошибку в отступе

id: 39978_task_error_2

В Python отступы критически важны. Они определяют, какой код к какому блоку относится. В этом примере код внутри блока `elif` написан без отступа, что вызовет `IndentationError`. Исправьте эту строку.

Найдите ошибку и исправьте
temp = 20
 
if temp > 25:
    print("Жарко")
elif temp > 15:
print("Тепло")
else:
    print("Прохладно")
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Восстановите логику проверки

id: 39978_task_sequencing_1

Расставьте строки кода в правильном порядке, чтобы создать работающую программу. Программа должна проверять оценку и выводить соответствующий комментарий. Помните о порядке проверок от более строгой к более общей.

Расставьте строки в правильном порядке
print("Хорошо.")
elif grade == 'C':
grade = 'B'
else:
    print("Отлично!")
    print("Могло быть и лучше...")
elif grade == 'B':
if grade == 'A':
    print("Надо постараться.")
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру