Условия (ветвления)

Ветвление в программе может быть достигнуто при помощи особых языковых конструкций – условий. Условие начинается с ключевого слова if, за которым следует проверяемое арифметико-логическое выражение и двоеточие. После этого следует основная ветка – с новой строки в отдельном (вложенном) блоке указывается код, который должен быть выполнен, в случае если проверяемое условие окажется истинным в момент исполнения программы. Если же условие будет ложным, то код основной ветки не будет выполнен и управление перейдет к командам после него.

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

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

Как следует из описания и специфики веток в конструкции условия (ветвления), части, начинающиеся с elif, должны идти после первой части, начинающейся с if, а часть, начинающаяся с else, может находиться только после них, то есть, в самом конце конструкции. В каждом блоке в вышеперечисленных ветках, разумеется, могут находиться любые объявления переменных, арифметико-логические выражения, другие условные конструкции, а также циклы. Таким образом, все языковые конструкции могут комбинироваться между собой в целях достижения требований к программе.

Примеры условных конструкций (для простоты положим, что все используемые переменные объявлены и инициализированы некоторым корректным образом ранее в коде):

if a == 1:
    b = 2
if c + 3 < d - 4:
    e: int = 5
    f = g - h
else:
    i = 6
if j >= 7 and k == 8.9:
    l = 10
elif m == 11:
    n: int = 12
elif o > 13.14 or p == 17:
    q: int = 5
    if q > 0:
        q = 0
else:
    r = 15.16 + s

Назад