if / elif / elseЧасто программе нужно выбрать не из двух вариантов, а из трёх, четырёх или больше. Для этого в Python используется конструкция if / elif / else, где elif — это сокращение от английского выражения «else if» (расширение базового if/else).
В этом уроке мы научимся использовать elif для множественного выбора и рассмотрим вложенные условия.
if / elif / else для множественного выбора.elifelif — это сокращение от английского выражения «else if». Позволяет проверять дополнительные условия.
x = 7
if x > 10:
print("x больше 10")
elif x > 5:
print("x больше 5, но не больше 10")
else:
print("x меньше или равно 5")Условия проверяются сверху вниз. Как только найдено первое истинное условие, его блок выполняется, а остальные пропускаются.
score = 75
if score >= 90:
print("Отлично")
elif score >= 70:
print("Хорошо") # Выполнится это
elif score >= 50:
print("Удовлетворительно")
else:
print("Неудовлетворительно")if / elif / elseelifМожно использовать сколько угодно веток elif:
day = 3
if day == 1:
print("Понедельник")
elif day == 2:
print("Вторник")
elif day == 3:
print("Среда")
elif day == 4:
print("Четверг")
elif day == 5:
print(
Один if можно писать внутри другого, если решение зависит от нескольких шагов проверки.
x = 15
if x > 10:
print("x больше 10")
if x > 20:
print("x больше 20")
else:
print("x от 11 до 20")
else:
print("x меньше или равно 10")Вложенные условия полезны, когда нужно проверять что-то дополнительно после первой проверки:
age = int(input("Возраст: "))
has_ticket = input("Есть билет? (да/нет): ")
if age >= 18:
if has_ticket == "да":
print("Добро пожаловать!")
else:
print("Нужен билет")
else:
print("Вход с 18 лет")Python позволяет записывать цепочки сравнений — это короче и читабельнее:
x = 15
# Вместо этого:
if x > 10 and x < 20:
print("x от 11 до 19")
# Можно написать так:
if 10 < x < 20:
print("x от 11 до 19")a = 3
b = 2
c = 1
if a > b > c: # эквивалентно (a > b) and (b > c)
print("убывающая последовательность")Дано целое число a. Если оно положительное — прибавь 3, если отрицательное — вычти 2, если равно 0 — прибавь 1.
a = int(input())
if a > 0:
a = a + 3
elif a < 0:
a = a - 2
else:
a = a + 1
print(a)Напиши программу, которая по номеру месяца выводит время года.
month = int(input())
if month == 12 or month == 1 or month == 2:
print("Зима")
elif month >= 3 and month <= 5:
print("Весна")
elif month >= 6 and month <= 8:
print("Лето")
Что выведет данный код?
a = 3
b = 2
c = 1
if a > b > c:
print(a)
else:
print(c)Напиши программу для определения оценки по баллам:
score = int(input())
if score >= 90:
print("Отлично")
elif score >= 70:
print("Хорошо")
elif score >= 50:
print("Удовлетворительно")
else:
print("Неудовлетворительно")Напиши программу, которая проверяет, делится ли число на 3, на 5, на оба или ни на одно.
n = int(input())
if n % 3 == 0 and n % 5 == 0:
print("Делится на 3 и на 5")
elif n % 3 == 0:
print("Делится только на 3")
elif n % 5 == 0:
print("Делится только на 5")
else:
На этом уроке мы освоили конструкцию if / elif / else для множественного выбора, узнали о важности порядка проверки условий, научились писать вложенные условия и использовать цепочки сравнений.
elif — нужные ветки не выполнятся.else в конце, когда он нужен для обработки «всех остальных случаев» — программа завершится ошибкой или даст неверный результат.elif — код станет сложнее, и ошибки будет труднее заметить.elif и отдельный if — ветки будут проверяться по разной логике, и результат станет неверным.Напиши программу, которая:
a.a больше нуля, выводит "positive".a меньше нуля, выводит "negative".a равно нулю, выводит "zero".Напиши программу, которая:
Напиши простой калькулятор:
a и b.op (строка: +, -, * или /).Напиши программу, которая по возрасту определяет категорию:
Напиши программу, которая проверяет, является ли год високосным.
Правила:
Примеры: 2000 — високосный, 1900 — нет, 2024 — високосный.
Даны три угла треугольника (в градусах). Определи тип:
"прямоугольный" — один угол 90°"тупоугольный" — один угол > 90°"остроугольный" — все углы < 90°Сначала проверь, что сумма углов равна 180°.
По росту (м) и весу (кг) вычисли ИМТ = вес / рост² и выведи категорию: