Алгоритмы с ветвлением

Условный оператор if/elif/else в Python. Полное и неполное ветвление. Вложенные условия. Логические операторы and, or, not. Операции сравнения.

Алгоритмы с ветвлением

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

В программировании ветвление реализуется с помощью условного оператора. В Python используется ключевое слово if.

Синтаксис

if условие:
    блок_кода

Блок кода выделяется отступами (4 пробела). Все строки блока должны иметь одинаковый отступ.

Условие — это выражение, которое преобразуется в логический тип (bool). Если результат True — блок выполняется, если False — пропускается.

Пример (неполное ветвление)

age = int(input("Введите возраст: "))
if age >= 18:
    print("Доступ разрешён")

2. Полное ветвление: if-else

if условие:
    блок_если_истина
else:
    блок_если_ложь

Пример

n = int(input("Введите число: "))
if n % 2 == 0:
    print("Чётное")
else:
    print("Нечётное")

3. Множественное ветвление: if-elif-else

if условие_1:
    блок_1
elif условие_2:
    блок_2
elif условие_3:
    блок_3
else:
    блок_иначе

Проверка происходит последовательно: выполняется блок, соответствующий первому истинному условию. Блок else необязателен и выполняется, когда все условия ложны.

Пример

score = int(input("Введите балл: "))
if score >= 90:
    grade = "5 (отлично)"
elif score >= 75:
    grade = "4 (хорошо)"
elif score >= 60:
    grade = "3 (удовлетворительно)"
else:
    grade = "2 (неудовлетворительно)"
print(f"Оценка: {grade}")

4. Операции сравнения

ОператорЗначениеПример
==Равноx == 5
!=Не равноx != 0
<Меньшеx < 10
>Большеx > 0
<=Меньше или равноx <= 100
>=Больше или равноx >= 18

Важно: не путать = (присваивание) и == (сравнение)!

Сравнивать можно не только числа, но и строки (лексикографически): "abc" < "abd" → True.

5. Логические операторы

Для составления сложных условий:

if x > 0 and x < 10:       # оба условия истинны
    print("Однозначное положительное")

if x < 0 or x > 100:       # хотя бы одно истинно
    print("Вне диапазона")

if not (x % 2 == 0):       # инверсия
    print("Нечётное")

Таблицы истинности (повторение)

ABA and BA or Bnot A
FalseFalseFalseFalseTrue
FalseTrueFalseTrueTrue
TrueFalseFalseTrueFalse
TrueTrueTrueTrueFalse

Приоритет логических операторов

  1. not
  2. and
  3. or

Скобки используются для изменения порядка: (a > 0) and (b > 0 or c > 0).

6. Вложенные условия

Условный оператор может находиться внутри другого условного оператора.

x = int(input("x = "))
y = int(input("y = "))
if x > 0:
    if y > 0:
        print("Первая четверть")
    else:
        print("Четвёртая четверть")
else:
    if y > 0:
        print("Вторая четверть")
    else:
        print("Третья четверть")

7. Тернарный условный оператор

Краткая форма записи для простых условий:

result = значение_если_истина if условие else значение_если_ложь

Пример:

parity = "чётное" if n % 2 == 0 else "нечётное"
maximum = a if a > b else b

Примеры вопросов из тренажёра

  1. Q: Какой оператор проверяет условие и выполняет блок кода только если условие истинно?

    A: верный ответ — if

    Объяснение: if — условный оператор. Если условие True, выполняется блок после двоеточия.

  2. Q: Как называется конструкция, когда внутри if находится другой if?

    A: верный ответ — Вложенное условие

    Объяснение: Вложенное условие — if внутри другого if. Позволяет проверять дополнительные условия.

  3. Q: Что выведет: x=5; if x>10: print('A') elif x>3: print('B') else: print('C')?

    A: верный ответ — B

    Объяснение: x=5: 5>10 — ложь, 5>3 — истина, печатается 'B'. Блок else пропускается.

  4. Q: Как работает оператор and?

    A: верный ответ — True только если оба True

    Объяснение: and возвращает True только когда оба операнда истинны.

  5. Q: Что такое неполное ветвление?

    A: верный ответ — if без else

    Объяснение: Неполное ветвление — if без else. Если условие ложно, ничего не выполняется.

Пройти тему «Алгоритмы с ветвлением» в приложении