Справочник Python. Циклы в Python.

  1. Цикл while
  2. Цикл for
  3. Операторы управления циклом (break, continue, else)

Цикл While
Циклы по условию выполняют что-нибудь, пока условие не будет выполнено. While  — простой цикл, и работает по следующей схеме:

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

В первой строчке мы присваиваем переменной x значение ‘r’, а второй строчкой инициализируем счетчик i=1. Затем идет цикл, то есть: пока i меньше 10, выводить на экран x. Самая интересная последняя строчка. Когда значение счетчика i (которое увеличивается на 1 каждую петлю цикла) станет больше или равно 10, цикл остановится.

Цикл for.
В отличие от большинства других языков программирования (как C, Pascal, Perl), цикл for в Python не просто цикл со счетчиком.В Python цикл for перебирает все элементы последовательности, начиная с нулевого. Ближайший аналог цикла for в Python – это цикл foreach в Perl. Разберем состав цикла:

item – переменная цикла for
seq – множество значений(диапазон, кортеж, список, множество или словарь), которые будет принимать переменная цикла.
например следующий код выведет все цвета из кортежа colors:

Привычный цикл по счетчику в Python реализуется с помощью встроенных функций range() и xrange():

Данный цикл выведет числа от 1 до 9.
Отличия range() от xrange(): Основным отличием функций range и xrange() является тип возвращаемого объекта. Функция range() возвращает список, а xrange() – кортеж. Кортеж занимает меньше памяти, поэтому при больших значения итератора предпочтительно использовать функцию xrange().

Операторы управления циклом. Break, continue, else.
Python предоставляет три оператора для управления циклом: break, continue,else

break
Оператор break прекращает выполнение цикла в месте своего вызова. Рассмотрим небольшой пример:

continue
Оператор continue пропускает все последующие операторы, и переводит цикл на следующую итерацию. Например, удвоим все символы в предложении, кроме символа ‘o’, а символ ‘o’ будем просто пропускать:

else
Если операторы break и continue могли вам встречаться и в других языках программирования, то в наличии блока else у циклов Python весьма оригинален. Блок else цикла выполняется, если выход из цикла произошел без использования оператора break. Приведем в пример цикл, который ограничивает число команд пользователя пятью за сессию: