Конструкция `elif` (сокращение от "else if") — это мощный инструмент в Python, который позволяет проверять несколько условий подряд, одно за другим. Если первое условие `if` ложно, Python переходит к проверке условия в `elif`. Если и оно ложно, он движется к следующему `elif` и так далее, пока не найдет истинное условие или не дойдет до блока `else` (если он есть). Это помогает создавать понятные и не громоздкие проверки, избегая излишней вложенности. В этом тренажере мы научимся правильно использовать `elif` для создания разветвленных сценариев, разберем типичные ошибки и поймем логику выполнения таких конструкций.
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Модуль 8: Списки
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
Добавляем промежуточное условие
Перед вами код, который определяет, является ли число положительным или нет. Дополните его, чтобы он отдельно обрабатывал случай, когда число равно нулю. Для этого используйте конструкцию `elif`.
number = 0
if number > 0:
print("Число положительное")
input1S input2S:
print("Число равно нулю")
else:
print("Число отрицательное")Какой путь выберет программа?
Проанализируйте код, который выставляет оценку на основе набранных баллов. Python выполнит только первый блок, условие которого окажется истинным. Что будет выведено на экран?
score = 85
if score > 90:
print("Отлично")
elif score > 80:
print("Хорошо")
elif score > 70:
print("Удовлетворительно")
else:
print("Неудовлетворительно")Исправьте синтаксическую ошибку
В этом коде допущена распространенная ошибка, которую делают те, кто приходит из других языков программирования. В Python нет конструкции `else if`. Найдите и исправьте эту строку.
command = "run" if command == "start": print("Запускаем процесс...")else if command == "run": print("Процесс уже запущен.")else: print("Неизвестная команда.")Что будет выведено на экран?
Перед вами программа, которая определяет возрастную категорию пользователя. Внимательно проследите за логикой и определите, что выведет программа для указанного возраста. Введите ответ в поле.
age = 15
if age < 13:
print("Ребенок")
elif age < 18:
print("Подросток")
else:
print("Взрослый")Соберите условную конструкцию
Восстановите правильный порядок строк, чтобы получился скрипт, определяющий тип дня (выходной или рабочий). Одна из строк лишняя и не нужна для решения задачи.
print("Ура, выходной!")elif day == "Sunday":day = "Sunday" print("Скоро на работу...")else:if day == "Saturday": print("Это рабочий день.")Соберите симулятор светофора из банка
Используя элементы из банка, соберите программу, которая имитирует поведение на светофоре. Перетащите ключевые слова и команды в нужные места. В банке есть лишние элементы.
color = "yellow"
if color == "green":
print("Можно ехать")
input1S:
print("Внимание!")
input2S:
print(input3S)Ловушка в условии
Внимательно прочтите код. Помните, что Python выполняет только первый истинный блок в цепочке `if/elif/else` и сразу после этого выходит из всей конструкции. Что выведет этот код?
num = 10
if num > 5:
print("Больше 5")
elif num > 0:
print("Больше 0")
else:
print("Не больше 0")Найдите ошибку в отступе
В Python отступы критически важны. Они определяют, какой код к какому блоку относится. В этом примере код внутри блока `elif` написан без отступа, что вызовет `IndentationError`. Исправьте эту строку.
temp = 20 if temp > 25: print("Жарко")elif temp > 15:print("Тепло")else: print("Прохладно")Восстановите логику проверки
Расставьте строки кода в правильном порядке, чтобы создать работающую программу. Программа должна проверять оценку и выводить соответствующий комментарий. Помните о порядке проверок от более строгой к более общей.
print("Хорошо.")elif grade == 'C':grade = 'B'else: print("Отлично!") print("Могло быть и лучше...")elif grade == 'B':if grade == 'A': print("Надо постараться.")