Вложенные операторы if
Оператор if может содержать другие операторы if. Когда один находится внутри другого, мы называем их вложенными операторами if.
Пример
Вывод: полная программа на Python
x = 41
if x > 10:
print("Больше десяти,")
if x > 20:
print("а также больше 20!")
else:
print("но не больше 20.")
Как работает вложенный if
Вложенность добавляет решению глубину: один выбор ведёт к следующему. Python начинает с самого внешнего условия и двигается внутрь.
Пример
Два условия, проверенные с помощью вложенности:
Вывод: полная программа на Python
age = 25
has_license = True
if age >= 18:
if has_license:
print("Вы можете водить машину")
else:
print("Вам нужны водительские права")
else:
print("Вы слишком молоды, чтобы водить машину")
Несколько уровней вложенности
Вложенность может быть сколь угодно глубокой, но каждый новый уровень делает код труднее для понимания.
Пример
Вложенность на три уровня:
Вывод: полная программа на Python
score = 85
attendance = 90
submitted = True
if score >= 60:
if attendance >= 80:
if submitted:
print("Зачёт с хорошими показателями")
else:
print("Зачёт, но задание не сдано")
else:
print("Зачёт, но низкая посещаемость")
else:
print("Незачёт")
Вложенный if и логические операторы
Логический оператор, например and, иногда может заменить вложенность и сократить код. Что подойдёт лучше, зависит от вашей логики.
В любом случае вы получите одинаковый результат. Вложенность подходит, когда внутренняя логика сложная или зависит от внешнего условия, а and подходит для двух простых условий одинаковой важности.
Пример
Вот вложенный вариант:
Вывод: полная программа на Python
temperature = 25
is_sunny = True
if temperature > 20:
if is_sunny:
print("Идеальная погода для пляжа!")
Пример
А вот та же проверка с помощью and:
and проверяет в одном условии, что temperature > 20 и is_sunny равно True.
Выведите «Идеальная погода для пляжа!», если оба условия выполнены.
Вывод: полная программа на Python
temperature = 25
is_sunny = True
if temperature > 20 and is_sunny:
print("Идеальная погода для пляжа!")
Другие примеры
Пример
Пошаговая проверка входа в систему:
Вывод: полная программа на Python
username = "Emil"
password = "python123"
is_active = True
if username:
if password:
if is_active:
print("Вход выполнен успешно")
else:
print("Учётная запись не активна")
else:
print("Требуется пароль")
else:
print("Требуется имя пользователя")
Пример
Вычисление оценки с помощью вложенных условий:
Вывод: полная программа на Python
score = 92
extra_credit = 5
if score >= 90:
if extra_credit > 0:
print("Оценка: A+")
else:
print("Оценка: A")
elif score >= 80:
print("Оценка: B")
else:
print("Оценка: C или ниже")