Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
07 Июл 2023
8 мин
10929

Условный оператор if-elif-else в Python

Основной инструмент выбора в Python: принцип работы и примеры.

На понятных примерах рассказываем, что такое if-elif-else и как работает эта условная инструкция.

Что такое if-elif-else

Условный оператор if-elif-else в Python — это способ написать программный код так, чтобы он выдавал результат в зависимости от того, выполняется определенное условие или нет.

Когда есть несколько условий, можно использовать elif (сокращение от else if — «иначе если»), чтобы проверять их поочередно. Если ни одно из условий не истинно, используют блок else, чтобы выполнить код по умолчанию.

Синтаксис выглядит так:

if условие_1:
    # блок кода, который выполняется, если условие_1 истинно
elif условие_2:
    # блок кода, который выполняется, если условие_2 истинно
elif условие_3:
    # блок кода, который выполняется, если условие_3 истинно
else:
    # блок кода, который выполняется, если ни одно из условий не истинно

Условия проверяются по порядку. Если какое-то из них истинно, выполняется соответствующий блок кода, а остальные игнорируются. Если ни одно из условий не истинно, выполняется блок кода в разделе else, если он присутствует.

Представим, что программа помогает вам выбрать одежду в зависимости от погоды:

weather = "солнечно"

if weather == "дождливо":
    print("Возьми зонтик")
elif weather == "солнечно":
    print("Надень солнцезащитные очки и кепку")
else:
    print("Можешь носить что угодно")

В этом примере:

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

В онлайн-университете Skypro освоить язык Python реально за десять месяцев комфортной учебы без спешки. Всего два часа в день — и вы овладеете всеми современными инструментами для успешной работы и станете уверенным Python-разработчиком. Даже если раньше никогда не писали код, научиться этому можно с нуля.

Рассказываем, как последовательно работать с каждым оператором.

Условный оператор if

В языке Python выражение считается истинным (true), если его результат — не ноль или выражение не является пустым объектом. Соответственно, оно считается ложным (false), если результат — ноль или пустой объект, в том числе значение none. При использовании операторов сравнения результатом выражения будет true, если условие выполняется, и false — в противном случае.

Инструкцию if в Python используют, чтобы выполнить блок кода, если заданное условие истинно.

Схематично конструкцию с if можно записать так:

if условное_выражение:
    инструкции
    инструкции
    ...

🟡 if — оператор, который вводит условие;
🟡 двоеточие после условного выражения сообщает, что дальше будет действие или набор последовательных действий при выполнении условия;
🟡 инструкции — действие с каждым элементом.

Внутри одного условия можно выполнять несколько сравнений, что расширяет возможности использования условных конструкций. Это можно реализовать с помощью логических операторов and, not и or:

🟢 and — означает «И» для двух условий. Возвращает true, если оба условия истинны, и false — если ложны;

🟢 or — означает «ИЛИ» для двух условий. Возвращает true, если хотя бы одно из условий истинно, и false в противном случае;

🟢 not — означает «НЕ» для одного условия. Возвращает true, если условие ложно, и false — если истинно.

Эти операции используют, чтобы строить сложные логические выражения.

Пример:

x = 5
y = 10

result = (x > 0) and (y < 15)

print(result)  # Вывод: True, так как оба условия (x > 0 и y < 15) истинны

Другой пример:

a = 0
b = 0


if a == 0 or b == 0: # Проверяется одно из условий
    print("Одна переменная или обе равны 0")
else:
    print("Ни одна из переменных не равна 0")

В этом примере переменные a и b равны нулю. В условии мы проверяем, равна ли хотя бы одна переменная нулю. Если да — выводим сообщение «Одна переменная или обе равны 0». Когда ни одно из условий не выполнено (обе переменные не равны нулю), мы получаем сообщение «Ни одна из переменных не равна 0».

На курсе «Python-разработчик» в онлайн-университете Skypro лекции ведут преподаватели с большим опытом работы в крупнейших компаниях. Они не только дадут необходимую базу, но и поделятся тонкостями и фишками. Вас ждут интересные домашние задания, по которым обязательно получите конструктивную обратную связь. Всё это поможет быстро освоить инструменты и особенности языка программирования.

Оператор if-else

Оператор if-else в Python — это конструкция, которая позволяет выполнить один из двух блоков кода в зависимости от того, выполняется условие (выражение после if) как истинное или ложное. Если условие истинно, выполняется блок кода под if. Если условие ложноelse.

Синтаксис выглядит так:

if условие:
    # Блок кода, который выполняется, если условие истинно
else:
    # Блок кода, который выполняется, если условие ложно

Например:

x = 10

if x > 5:
    print("x больше 5")
else:
    print("x меньше или равен 5")

Если значение переменной x больше пяти, выполняется блок кода под if и выводится «x больше 5». В противном случае выполняется блок кода под else и выводится «x меньше или равен 5».

Рассмотрим в качестве примера процесс аутентификации пользователя.

username = input("Введите ваше имя пользователя: ")
password = input("Введите ваш пароль: ")

Предположим, правильные данные для аутентификации — «user123» и «password123».

correct_username = "user123"
correct_password = "password123"

if username == correct_username and password == correct_password:
    print("Успешная аутентификация. Доступ разрешен.")
else:
    print("Ошибка аутентификации. Проверьте имя и пароль.")

Вложенные операторы if и if-else

Можно использовать одни условные операторы внутри других. С такими конструкциями можно строить более сложные логические структуры в зависимости от множества условий. Такие операторы полезны, когда нужно проверить несколько условий с дополнительными логическими шагами внутри каждого.

Оператор if внутри другого if-оператора

x = 10
if x > 0:
    print("x - положительное число")
    if x % 2 == 0:
        print("x - четное число")
    else:
        print("x - нечетное число")
else:
    print("x - не положительное число")

В этом примере, если x — положительное число, программа проверяет, четное оно или нет. Внутренний блок с вложенным оператором if выполняется только в том случае, если внешнее условие (x > 0) истинно.

Оператор if-else внутри условия else

x = 15
if x > 10:
    print("x больше 10")
else:
    print("x не больше 10")
    if x % 2 == 0:
        print("x - четное число")
    else:
        print("x - нечетное число")

В этом похожем примере, если x не больше десяти, программа проверяет, четный он или нет. Внутренний блок с вложенным оператором if-else выполняется в зависимости от четности числа. В случае x > 10 четность не проверяется.

В онлайн-университете Skypro вы можете не только освоить язык программирования Python, но и сделать первые карьерные шаги в новой профессии. В центре карьеры вас научат правильно составлять продающее резюме, портфолио и цепляющие сопроводительные письма, а еще успешно проходить собеседования.

Оператор if-elif-else

Допустим, вам нужно определить тип треугольника.

side1 = 3
side2 = 4
side3 = 5

if side1 == side2 == side3:
    print("Треугольник равносторонний")
elif side1 == side2 or side1 == side3 or side2 == side3:
    print("Треугольник равнобедренный")
else:
    print("Треугольник разносторонний")

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

Рассмотрим другой пример. Допустим, нам нужно дать оценку работе студента по определенной системе.

grade = 78
if 90 <= grade <= 100:
    print("Отличная работа! Ваша оценка — 5.")
elif 80 <= grade < 90:
    print("Хорошо сделано! Ваша оценка — 4.")
elif 70 <= grade < 80:
    print("Неплохо, но можно лучше. Ваша оценка — 4−.")
elif 60 <= grade < 70:
    print("Средне. Ваша оценка — 3.")
elif 0 <= grade < 60:
    print("К сожалению, вы не прошли. Ваша оценка — 2.")
else:
    print("Ошибка: Некорректная оценка. Проверьте ввод.")

В этом примере, если оценка находится в диапазоне 90–100 включительно, программа выдает сообщение с оценкой «5». Если оценка находится в диапазоне 80–89, выдается сообщение с оценкой «4», и так далее.

Как выполняется if-elif-else:

  • Программа проверяет условие_1.
  • Если условие_1 истинно, выполняется блок кода под if и остальные блоки (elif и else) игнорируются.
  • Если условие_1 ложно, программа проверяет условие_2.
  • Если условие_2 истинно, выполняется блок кода под первым elif и остальные блоки (последующие elif и else) игнорируются.
  • Процесс повторяется для каждого elif в порядке следования.
  • Если ни одно из условий не истинно, выполняется блок кода под else — при его наличии.

Главное об условном операторе if-elif-else в Python

🟢 Условный оператор if-elif-else в Python помогает написать код так, чтобы он выдавал результат в зависимости от того, выполняется определенное условие или нет. Когда есть несколько условий, можно использовать elif, чтобы проверять их поочередно. Если ни одно из условий не истинно, используют else, чтобы выполнить код по умолчанию.

🟢 В языке Python выражение считается истинным (true), если его результат — не ноль или выражение не является пустым объектом. А ложным (false) оно считается, если результат — ноль или пустой объект, в том числе значение none. При использовании операторов сравнения результатом выражения будет true, если условие выполняется, и false — в противном случае.

🟢 Внутри одного условия можно выполнять несколько сравнений, что позволяет расширить возможности использования условных конструкций. Это можно реализовать с помощью логических операторов: and возвращает true, если оба условия истинны, и false — если ложны; or возвращает true, если хотя бы одно из условий истинно, и false в противном случае; not возвращает true, если условие ложно, и false — если истинно.

Опрос для читателей: Какой язык программирования лучше? Узнайте результат после голосования

Добавить комментарий