В языке программирования Python (также «Пайтон» или «Питон») есть несколько способов зацикливания некоторого действия. Основные инструменты реализации какой-либо итерации в Python — циклы while и for. Цикл while более универсален, чем for, поэтому он работает медленнее. Однако это вовсе не означает, что он лучше! Цикл for используют гораздо чаще, потому как с его помощью реализуются самые сложные задачи для создания многоуровневых и многоусловных программ.

Python: цикл с постусловием

Циклы с постусловием — это циклы while, которые являются самыми универсальными организационными конструкциями в данной среде программирования. Цикл while работает по принципу «до тех пор, пока». Это означает следующее: пока некоторое условие будет возвращать истинное значение, он будет работать! Данная конструкция называется «циклом», потому как функциональное управление циклично повторяется, начиная с первоначального значения. Выход из цикла while в Python будет реализован в тот момент, когда значение станет ложным. В этот момент интерпретатор передает выполнение программы следующему функционально-смысловому сегменту, то есть новой строке, которая располагается после блока с постусловием while.

В языке программированя Python циклы с постусловием while имеют следующий синтаксис:

1. While (условие) :

Выражением может быть как одна инструкция, так и несколько. Условием всегда является некоторое истинное значение либо ненулевое. Подобная конструкция работает до тех пор, пока заданное условие представляет собой истину.

Использование цикла while в «Пайтон» на примере

Рассмотирим цикл while. Python довольно интересно структурирует его итерации:

Введение в Python

Поиск

Новое на сайте

Циклы в Python

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

Цикл while в Python:

Инструкция while в Python повторяет указанный блок кода до тех пор, пока указанное в цикле условие будет оставаться истинным.

Цикл while в Python записывается следующим образом:

При этом выражением может быть как одна так и несколько инструкций. Условием может быть любое истинное или ненулевое значение. Выражение будет повторяться, пока условие будет истинным.

Когда условие становится ложным интерпретатор переводит выполнение программы на строку, следующую за циклом. Рассмотрим следующий пример цикла while в Python:

Запустив код, вы увидите следующий результат:

Бесконечный цикл:

Цикл while становится бесконечным в случае, когда условие цикла никогда не становится ложным. Примером задачи для реализации которой необходим бесконечный цикл может быть, например, создание программы "Часы", которая бесконечно будет обновлять и отображать время. Однако, часто бесконечный цикл является ошибкой начинающего программиста, который забыл добавить изменение условия цикла. Например:

Не спешите запускать данный цикл, иначе ваша программа начнет бесконечное выполнение. Чтобы остановить выполнение такого скрипта — в shell нужно нажать Ctrl+C .

Цикл for в Python:

Цикл for в Python обладает способностью переберать элементы любого комплексного типа данных (например, строки или списка). В Python цикл for обладает следующим синтаксисом:

Переменной item присваивается значение первого элемента sequence, после чего выполняется statement. Затем переменной item присваивается следующее по порядку значение и так далее до тех пор, пока не будут перебраны все элементы sequence. Например:

Запустив код выше получим:

Перебор комплексных типов данных по индексам:

Другой способ прохода циклом for по комплексным типам данных является проход по индексам. Как вы помните, любой элемент последовательности можно получить по его индексу. Для генерации списка индексов воспользуемся встроенной функцией range(). Например:

В результате программа напечатает перечень дней недели.

Команда break в Python:

Команда break в Python прекращает выполнение цикла и переводит выполнение программы на строку следующую после цикла.

Команда break работает как в цикле while та и в цикле for. Например:

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

Понятие циклов

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

В программировании циклы позволяют повторять некоторое действие в зависимости от соблюдения заданного условия. Таким образом организуется исполнение многократной последовательности инструкций.

Есть еще несколько важных понятий, которые нужно знать:

  • Телом цикла называется та последовательность кода, которую нужно выполнить несколько раз.
  • Единоразовое выполнение – это итерация.

Python позволяет также создавать вложенные циклы. Так, сначала программа запустит внешний и в первой его итерации перейдет во вложенный. Затем она снова вернется к началу внешнего и снова вызовет внутренний. Это будет происходить до тех пор, пока последовательность не завершится или не прервется. Такие циклы полезны в том случае, если нужно перебрать определенное количество элементов в списке.

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

Цикл «for»

Цикл for в Python 3 выполняет написанный код повторно согласно введенной переменной или счетчику. Он используется только тогда, когда необходимо совершить перебор элементов заранее известное число раз. Что это значит? У нас имеется список, сначала из него берется первый элемент, потом – второй и так далее, но с каждым из них совершается действие, которое указано в теле for. Примерно это выглядит так:

For может содержать данные разных типов: цифры, слова и пр. Рассмотрим пример:

На экране после запуска появится такая запись:

Для упрощения часто используется функция range(), или диапазон. В циклах она указывает на необходимое количество повторов последовательности, уточняя, какие именно элементы из списка for, нам необходимы в данный момент. В скобках может быть указано от одного до трех чисел:

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

Рассмотрим пример. Теоретически вы можете записать так:

Но это слишком затратно, особенно если чисел слишком много, поэтому лучше сделать так, используя указанный выше range():

И в первом, и во втором случае на экране появится такая последовательность:

Цикл «while»

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

Запись цикла while в Python выглядит так:

Приведем пример использования этого цикла:

Здесь переменной присваивается значение 0, после чего начинается цикл, в котором проверяется условие, чтобы число было меньше 6. В теле цикла также содержится две инструкции: первая выводит само число на экран, а вторая увеличивает его значение на два. Цикл, таким образом, выполняется, пока условие продолжает быть истинным. На экране перед вами появится следующая последовательность чисел:

Обычно в ней есть смысл, только если указана инструкция break, но программа работает и без последней. Посмотрим на код:

Переменная – 3, задается условие, что пока она меньше 7, нужно выводить ее и выражение «меньше 7», затем прибавлять к ней 1. В тех случаях, когда она уже становится равной 7, то в ход пойдет условие, указанное в else, и на экране появится, что переменная не меньше 7. В результате выполнения этого кода мы увидим:

Инструкции break и continue

Оператор break используется для выхода из цикла Python — прерывает его досрочно. Так, если во время выполнения кода, программа натыкается на break, то она сразу прекращает цикл и выходит из него, минуя else. Это необходимо, например, если при выполнении инструкций была обнаружена ошибка, и дальнейшая работа бессмысленна. Посмотрим на пример его применения:

Его реализация будет выглядеть так:

После этого выполнение программы будет прервано.

Другая инструкция, которая может менять цикл, – это continue. Если она указана внутри кода, то все оставшиеся инструкции до конца цикла пропускаются и начинается следующая итерация.

В целом, не следует слишком увлекаться использованием этих инструкций.

Цикл с постусловием

Во многих других языках программирования существуют циклы с постусловием, обычно они описываются так:

  • repeat [тут исполняемый код] until [условия продолжения];
  • do [тут исполняемый код] while [условия продолжения];

Цикл while может стать циклом с постусловием, тогда его примерный вид будет таким:

Так получается, что сначала дается тело цикла, а потом задается условие.

Бесконечные циклы

Бесконечными циклами в программировании называются те, в которых условие выхода их них не выполняется.

Цикл while становится бесконечным, когда его условие не может быть ложным. Например, при помощи него можно реализовать программу «Часы», которая бесконечно отображает время.

Примером реализации в Python бесконечного цикла будет такой код:

Очевидно, что заданная переменная всегда останется цифрой 3, поскольку никак не задано ее увеличение, поэтому на экране просто будет появляться слово «Привет».

Зачастую цикл не должен быть бесконечным, поскольку это причина неустойчивой работы программы. Для того чтобы выйти из него, нужно нажать комбинацию клавиш: CTRL+C. При этом программы, из которых нет выхода, также существуют. К ним относятся: операционные системы, прошивки микроконтроллеров.

Вложенные циклы

Рассмотрим вложенные циклы в Python. Для реализации можно использовать как вложенные for, так и while.

Про них мы уже писали выше. Здесь же хочется привести пару примеров использования. Они очень часто используются при обработке двухмерных списков.

Вот пример создания двумерного списка и вывода его на экран с помощью print.

Нельзя с помощью одного break в Python выйти сразу из двух циклов. В этом случае нужно во внешнем цикле создать условие следующим образом.

Здесь приведен пример использования в Python цикла в цикле. Оба бесконечны. Все будет выполняться бесконечно, до тех пор, пока функция doSomething не вернет True. После этого поочередно сработают break во внешнем и во внутреннем циклах.

Заключение

Как правило, команды в коде выполняются последовательно: одна за другой. Именно поэтому, когда есть необходимость выполнить тело кода несколько раз, используются циклы. Циклы для Python очень значимы, именно они делают повторение простым, логичным и очень понятным.