Использование if, else и elif в Python

В программировании условные операторы позволяют программе принимать решения на основе заданных условий.

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

1. Основные операторы

1.1. Оператор if

Оператор if проверяет, выполняется ли заданное условие. Если условие истинно (True), выполняется связанный с ним блок кода.

Синтаксис:

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

Пример:

temperature = 25
if temperature > 20:
    print("Тепло на улице.")

В этом примере, если температура больше 20 градусов, программа выведет сообщение о том, что на улице тепло.

1.2. Оператор else

Оператор else используется вместе с if и выполняет код, если условие if ложно (False). Это альтернативный путь выполнения, если условие в if не выполнено.

Синтаксис:

if condition:
    # Блок кода, если условие истинно
else:
    # Блок кода, если условие ложно

Пример:

age = 16
if age >= 18:
    print("Вы взрослый.")
else:
    print("Вы ещё не взрослый.")

Здесь, если возраст меньше 18 лет, программа выведет сообщение о том, что пользователь ещё не взрослый.

1.3. Оператор elif

Оператор elif (сокращение от "else if") позволяет проверить несколько условий последовательно. Это удобно, когда нужно выполнить разные действия для различных диапазонов значений или условий.

Синтаксис:

if condition1:
    # Блок кода, если condition1 истинно
elif condition2:
    # Блок кода, если condition2 истинно
else:
    # Блок кода, если ни одно из условий не истинно

Пример:

score = 85

if score >= 90:
    print("Отлично!")
elif score >= 80:
    print("Хорошо.")
elif score >= 70:
    print("Удовлетворительно.")
else:
    print("Неудовлетворительно.")

В этом примере программа выводит оценку в зависимости от балла.

Таблица с условными конструкциями

КонструкцияОписаниеПример использования
ifВыполняет блок кода, если условие истинно.if x > 0:
    print("x is positive")
if-elseВыполняет блок кода, если условие истинно, иначе выполняет другой блок.if x > 0:
    print("x is positive")
else:
    print("x is not positive")
if-elif-elseПроверяет несколько условий последовательно. Выполняет соответствующий блок, когда условие истинно.if x > 0:
    print("x is positive")
elif x == 0:
    print("x is zero")
else:
    print("x is negative")
nested ifВложенные условные операторы.if x > 0:
    if y > 0:
      print("x and y are positive")
ternary (if-else)Тернарный оператор для краткой записи условия.result = "positive" if x > 0 else "non-positive"

2. Логические операторы и сложные условия

2.1. Оператор and

Оператор and возвращает True, если оба условия истинны.

Пример:

age = 25
income = 50000

if age >= 18 and income >= 40000:
    print("Вы квалифицированы для заявки.")
else:
    print("Вы не квалифицированы для заявки.")

Здесь программа проверяет два условия: возраст и доход.

2.2. Оператор or

Оператор or возвращает True, если хотя бы одно из условий истинно.

Пример:

day = "Saturday"

if day == "Saturday" or day == "Sunday":
    print("Сегодня выходной.")
else:
    print("Сегодня рабочий день.")

Этот пример проверяет, является ли день выходным.

2.3. Оператор not

Оператор not инвертирует значение условия. Если условие истинно, not сделает его ложным и наоборот.

Пример:

logged_in = False
if not logged_in:
   print("Пожалуйста, войдите в систему.")
else:
   print("Вы вошли в систему.")

Здесь проверяется, вошел ли пользователь в систему.

 

3. Вложенные условные операторы

Вложенные условные операторы позволяют проверять дополнительные условия внутри уже существующих условий. Это полезно, когда требуется выполнить более сложные проверки.

Синтаксис:

if condition1:
    if condition2:
        # Блок кода, если condition1 и condition2 истинны
    else:
        # Блок кода, если condition1 истинно, а condition2 ложно
else:
    # Блок кода, если condition1 ложно

Пример:

age = 22
has_id = True

if age >= 18:
    if has_id:
        print("Вы можете войти.")
    else:
        print("Пожалуйста, покажите удостоверение личности.")
else:
    print("Вы слишком молоды.")

Здесь сначала проверяется возраст. Если возраст больше или равен 18, проверяется наличие удостоверения личности.

3.1. Пример с несколькими уровнями вложенности

Вложенные условные операторы могут быть использованы для более сложных сценариев. Например, можно проверить не только возраст, но и, является ли пользователь студентом, чтобы определить, имеет ли он право на скидку.

Пример:

age = 20
student = True
income = 25000

if age >= 18:
    if student:
        if income < 30000:
            print("Вы имеете право на скидку для студентов с низким доходом.")
        else:
            print("Вы студент, но ваш доход не соответствует критериям для скидки.")
    else:
        print("Вы не студент.")
else:
    print("Вы слишком молоды для этого.")

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

 

4. Примеры задач и решений

Задача 1: Определение стоимости билета

age = int(input("Введите ваш возраст: "))

if age < 18:
    price = 5
elif age < 65:
    price = 10
else:
    price = 7

print(f"Стоимость билета: ${price}")

Задача 2: Проверка допустимости ввода

number = int(input("Введите число от 1 до 100: "))

if 1 <= number <= 100:
    print("Число в допустимом диапазоне.")
else:
    print("Число вне допустимого диапазона.")

Задача 3: Оценка результатов экзамена

score = int(input("Введите ваш балл: "))

if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'F'

print(f"Ваша оценка: {grade}")

 Задача 4: Определение времени суток

hour = int(input("Введите час (0-23): "))
if 0 <= hour < 6:
   period = "ночь"
elif 6 <= hour < 12:
   period = "утро"
elif 12 <= hour < 18:
   period = "день"
else:
   period = "вечер"
print(f"Время суток: {period}")

Операторы if, else и elif являются основой условного выполнения в Python и позволяют создавать программы, которые могут принимать решения и выполнять разные действия в зависимости от условий. Вложенные условные операторы позволяют обрабатывать более сложные сценарии, проверяя несколько условий одновременно. Понимание и использование этих операторов являются ключевыми навыками для написания эффективного и гибкого кода в Python.

Перейти к следующему шагу

Комментарии