Условные операторы
if, elif, else
Пока программа просто выполняет команды одну за другой сверху вниз, она мало чем отличается от калькулятора. Настоящая сила программирования — в способности принимать решения: выполнять один код при одних данных и другой код при других. Для этого служат условные конструкции.
age = 18
if age >= 18:
print("Вы совершеннолетний")
else:
print("Вы ребенок")
Внутри условия после if стоит логическое выражение —
то, что в итоге даёт True (истина) или False (ложь).
Для сравнения используются операторы: == (равно), !=
(не равно), >, <, >=, <=.
Несколько условий подряд: elif
Если вариантов больше двух, между if и else можно
вставлять сколько угодно блоков elif (сокращение от "else if").
Python проверяет условия по порядку сверху вниз и выполняет первый подошедший блок,
остальные — пропускает.
score = 75
if score >= 90:
print("Отлично")
elif score >= 70:
print("Хорошо")
elif score >= 50:
print("Удовлетворительно")
else:
print("Незачёт")
# выведет "Хорошо" — первое подходящее условие
Отступы — это часть синтаксиса
В большинстве языков блоки кода обозначают фигурными скобками { }.
В Python вместо этого используются отступы (обычно 4 пробела) —
именно по ним интерпретатор понимает, какие строки относятся к телу if,
а какие уже находятся "снаружи". Если отступы в одном блоке разные — Python выдаст
ошибку IndentationError.
if age >= 18:
print("Совершеннолетний") # относится к if — есть отступ
print("Можно голосовать") # тоже относится к if
print("Это уже вне if") # отступа нет — выполнится всегда
Логические операторы and, or, not
Условия можно комбинировать: and — оба условия истинны,
or — хотя бы одно, not — переворачивает значение.
age = 25
has_license = True
if age >= 18 and has_license:
print("Можно за руль")
is_weekend = False
if not is_weekend:
print("Обычный рабочий день")
= и ==. if age = 18: —
синтаксическая ошибка, потому что = присваивает значение, а не
сравнивает. Для сравнения всегда нужны два знака равенства: if age == 18:.
🧪 Практическое задание
Дано число x = 7. Если x больше 5 — выведите 'Больше пяти', иначе — 'Меньше или равно пяти'.
# Результат появится здесь...