Дикий Григорий

Full-stack веб-разработчик

Операторы управления в Python

Доброго времени суток! Сегодня речь пойдет о Python и о том какие конструкции управления потоком есть в нем. В Python есть три оператора управления потоком: if, for и while. Все эти команды позволяют вам легко прописывать логику программы, давайте разберем их подробнее.

Оператор if

Оператор if в python несильно отличается от такого и в других языках. У него есть if-блок и else-блок, первый выполняется если условие истинно, а второе если условие ложно. Как видите ничего необычного. Синтаксис этого оператора очень прост, давайте разберем его на простом примере:

number = 23
guess = int(input('Введите число: '))

if guess == number:
    print('Вы выйграли')
elif guess < number:
    print('Ваше число меньше')
else:
    print('Ваше число больше')

Здесь появляется выражение elif, которое является аналогом else if в классических языках программирования и облегчает чтение программы. Стоит отметить, что после условных выражений и elif ставится двоеточие.

Оператор while

Оператор while нужен для того, чтобы многократно выполнять определенный блок команд. Он является оператором цикла. В отличие от других языков программирования, этот оператор обладает необязательным пунктом else. Давайте дополним программу выше при помощи этого оператора.

number = 23
running = True

while running:
    guess = int(input('Введите число: '))

    if guess == number:
        print('Вы выйграли')
        running = False
    elif guess < number:
        print('Ваше число меньше')
    else:
        print('Ваше число больше')
else:
    print('Цикл завершен')

print('Конец программы')

В этом примере блок else у while выполняется тогда, когда условие цикла становится ложным. Этот блок будет всегда выполнятся, если только условие не было прервано оператором break.

Цикл For

В Python не существует классического for, вместо этого у него есть цикл for .. in который итерирует последовательность объектов, т.е проходит через каждый элемент этой последовательности, а в свою очередь последовательность есть - упорядоченный набор элементов. Рассмотрим простой пример:

for i in range(1, 5):
    print(i)
else:
    print('Цикл For завершен')

Эта программа просто выводит последовательность чисел от одного до пяти. При помощи функции range происходит генерация последовательности. По умолчанию range принимает значение шага равное единице, но его можно изменить указав третьим параметром шаг. Интервал итерируется до второго числи, но не включает его. Блок else не является обязательным и он также всегда выполняется после окончания цикла, если не был выполнен оператор break.

Оператор break

Оператор break используется для прерываний конструкций цикла, т.е он выходит их цикла где он был вызван на уровень выше. Вспомним, что если цикл while или for .. in прервать этим оператором, то соответствующие блоки в else выполнятся не будут. Давайте исправим программу while так, чтобы использовать этот оператор:

number = 23

while True:
    guess = int(input('Введите число: '))
    if guess == number:
        print('Вы выйграли')
        break
    elif guess < number:
        print('Ваше число меньше')
    else:
        print('Ваше число больше')
else:
    print('Цикл завершен')

print('Конец программы')

Заметим, что блок else не выполнился. Первым делом стоить отметить то, что break сократил количество нужных переменных на единицу, а также уменьшил количество строк.

Оператор continue

Оператор continue сообщает интерпретатору Python, что следует пропустить команды в цикле после него и начать все с новой итерации. Рассмотрим его на простом примере:

while True:
    s = input('Введите что-нибудь: ')

    if s == 'break':
        break
    if len(s) < 3:
        print('Слишком мало')
        continue
    print('Введенная строка достаточной длины')

На сегодня достаточно, в следующей статье вы узнаете как работают функции в python и чем они похожи и отличаются от других языков