- 6 августа 2025
- 6 минут
- 336
Условная инструкция в Python
Статью подготовили специалисты образовательного сервиса Zaochnik.
Пример программы с нелинейной структурой
Представим, что нам необходимо определить абсолютную величину числа `num`. Программа должна вывести значение `num`, если оно неотрицательное, или его модуль в противном случае. На основании истинности условия программа будет выводить одно из двух значений. Данный фрагмент кода на Python выглядит следующим образом:
```python
num = int(input())
if num >= 0:
print(num)
else:
print(-num)
```
Алгоритм условной инструкции
В данной программе используется конструкция `if`.
После слова `if` указывается условие, завершающееся двоеточием.
Затем идет блок инструкций, которые выполняются, если условие истинно; в нашем примере это вывод значения `num`. После этого следует `else`, также заканчивающееся двоеточием, и блок инструкций, которые будут выполнены, если условие ложно — в данном случае будет выведено значение `-num`.
Синтаксис условной инструкции в Python
```python
if Условие:
Блок инструкций 1
else:
Блок инструкций 2
```
Блок инструкции 1 выполнится при истинности условия. Если условие окажется ложным, будет выполнен блок инструкции 2.
В условной конструкции может отсутствовать `else` и соответствующий блок. Например, если нам нужно преобразовать число `num` в его абсолютное значение, мы можем поступить следующим образом:
```python
if num < 0:
num = -num
print(num)
```
В этом случае переменной `num` будет присвоено значение `-num` только если `num < 0`, а инструкция `print(num)` выполнится всегда, вне зависимости от результата проверки условия.
Чтобы разделить блоки инструкций, относящиеся к `if` или `else`, в Python используются отступы. Все инструкции в одном блоке должны иметь одинаковое количество отступов. Рекомендуется использовать отступ в 4 пробела, избегая табуляции.
Это является одним из ключевых отличий синтаксиса Python от других языков, где блоки обозначаются специальными ключевыми словами, такими как `begin… end` в Pascal или фигурными скобками `{…}` в C.
Вложенные условные инструкции
Внутри условных инструкций можно использовать любые операции языка Python, включая дополнительные условные инструкции. Это формирует вложенное ветвление: после одного условия может следовать другое. При этом вложенные блоки должны иметь больший отступ (например, 8 пробелов). Рассмотрим пример программы, которая определяет, в какой четверти координатной плоскости находится точка `(x, y)`:
```python
x = int(input())
y = int(input())
if x > 0:
if y > 0: # x > 0, y > 0
print("Первая четверть")
else: # x > 0, y < 0
print("Четвертая четверть")
else:
if y > 0: # x < 0, y > 0
print("Вторая четверть")
else: # x < 0, y < 0
print("Третья четверть")
```
В этом коде использованы комментарии, которые игнорируются интерпретатором. Символ `#` обозначает начало комментария в Python, и все, что следует за ним до конца строки, считается комментарием.
Операторы сравнения
Часто для условий используются операторы сравнения:
- `<` — меньше: условие верно, если первый операнд меньше второго.
- `>` — больше: условие верно, если первый операнд больше второго.
- `<=` — меньше или равно.
- `>=` — больше или равно.
- `==` — равен: условие верно, если два операнда равны.
- `!=` — не равен: условие верно, если два операнда не равны.
Например, условие `x * x < 1000` означает, что "значение `x * x` меньше 1000", а условие `2 * x != y` означает, что "удвоенное значение переменной `x` не равно значению переменной `y`".
В Python операторы сравнения могут объединяться в цепочки, в отличие от многих других языков, где для этого необходимо использовать логические операторы.
`a == b == c` или `1 <= x <= 10`.
Операторы сравнения возвращают результаты в логическом типе `bool`.
Логические операторы
Иногда возникает необходимость проверить несколько условий одновременно. К примеру, для проверки, является ли число четным, используется условие `(n % 2 == 0)`, а чтобы удостовериться, что оба числа `n` и `m` четные, нужно использовать оператор `and` (логическое "И"): `n % 2 == 0 and m % 2 == 0`.
Каскадные условные инструкции
Мы можем переписать пример программы, определяющей четверть координатной плоскости, используя "каскадную" последовательность операторов `if… elif… else`. В такой конструкции условия `if` и `elif` проверяются последовательно, и выполняется блок, соответствующий первому истинному условию. Если все условия ложны, выполняется блок `else`, если он предусмотрен.
```python
x = int(input())
y = int(input())
if x > 0 and y > 0:
print("Первая четверть")
elif x > 0 and y < 0:
print("Четвертая четверть")
elif y > 0:
print("Вторая четверть")
else:
print("Третья четверть")
```