Как сделать цикл в питоне
Циклы позволяют выполнять некоторое действие в зависимости от соблюдения некоторого условия. В языке Python есть следующие типы циклов:
Цикл while
Цикл while проверяет истинность некоторого условия, и если условие истинно, то выполняет инструкции цикла. Он имеет следующее формальное определение:
while условное_выражение: инструкции
После ключевого слова while указывается условное выражение, и пока это выражение возвращает значение True , будет выполняться блок инструкций, который идет далее.
Все инструкции, которые относятся к циклу while, располагаются на последующих строках и должны иметь отступ от начала ключевого слова while.
number = 1 while number < 5: print(f"number = ") number += 1 print("Работа программы завершена")
В данном случае цикл while будет выполняться, пока переменная number меньше 5.
Сам блок цикла состоит из двух инструкций:
print(f"number = ") number += 1
Обратите внимание, что они имеют отступы от начала оператора while - в данном случае от начала строки. Благодаря этому Python может определить, что они принадлежат циклу. В самом цикле сначала выводится значение переменной number, а потом ей присваивается новое значение. .
Также обратите внимание, что последняя инструкция print("Работа программы завершена") не имеет отступов от начала строки, поэтому она не входит в цикл while.
Весь процесс цикла можно представить следующим образом:
В итоге при выполнении кода мы получим следующий консольный вывод:
number = 1 number = 2 number = 3 number = 4 Работа программы завершена
Для цикла while также можно определить дополнительный блок else , инструкции которого выполняются, когда условие равно False:
number = 1 while number < 5: print(f"number = ") number += 1 else: print(f"number = . Работа цикла завершена") print("Работа программы завершена")
То есть в данном случае сначала проверяется условие и выполняются инструкции while. Затем, когда условие становится равным False, выполняются инструкции из блока else. Обратите внимание, что инструкции из блока else также имеют отступы от начала конструкции цикла. В итоге в данном случае мы получим следующий консольный вывод:
number = 1 number = 2 number = 3 number = 4 number =5. Работа цикла завершена Работа программы завершена
Блок else может быть полезен, если условие изначально равно False, и мы можем выполнить некоторые действия по этому поводу:
number = 10 while number < 5: print(f"number = ") number += 1 else: print(f"number = . Работа цикла завершена") print("Работа программы завершена")
Цикл for
Другой тип циклов представляет конструкция for . Этот цикл пробегается по набору значений, помещает каждое значение в переменную, и затем в цикле мы можем с этой переменной производить различные действия. Формальное определение цикла for:
for переменная in набор_значений: инструкции
После ключевого слова for идет название переменной, в которую будут помещаться значения. Затем после оператора in указывается набор значений и двоеточие.
А со следующей строки располагается блок инструкций цикла, которые также должны иметь отступы от начала цикла.
При выполнении цикла Python последовательно получает все значения из набора и передает их переменную. Когда все значения из набора будут перебраны, цикл завершает свою работу.
В качестве набора значений, например, можно рассматривать строку, которая по сути представляет набор символов. Посмотрим на примере:
message = "Hello" for c in message: print(c)
В цикле определяется переменную c , после оператора in в качестве перебираемого набора указана переменная message, которая хранит строку "Hello". В итоге цикл for будет перебираеть последовательно все символы из строки message и помещать их в переменную c. Блок самого цикла состоит из одной инструкции, которая выводит значение переменной с на консоль. Консольный вывод программы:
H e l l o
Цикл for также может иметь дополнительный блок else , который выполняется после завершения цикла:
message = "Hello" for c in message: print(c) else: print(f"Последний символ: . Цикл завершен"); print("Работа программы завершена") # инструкция не имеет отступа, поэтому не относится к else
В данном случае мы получим следующий консольный вывод:
H e l l o Последний символ: o. Цикл завершен Работа программы завершена
Стоит отметить, что блок else имеет доступ ко всем переменным, которые определены в цикле for.
Вложенные циклы
Одни циклы внутри себя могут содержать другие циклы. Рассмотрим на примере вывода таблицы умножения:
i = 1 j = 1 while i < 10: while j < 10: print(i * j, end="\t") j += 1 print("\n") j = 1 i += 1
В каждой итерации внутреннего цикла на консоль будет выводится произведение чисел i и j. Затем значение переменной j увеличивается на единицу. Когда внутренний цикл закончил работу, значений переменной j сбрасывается в 1, а значение переменной i увеличивается на единицу и происходит переход к следующей итерации внешнего цикла. И все повторяется, пока переменная i не станет равна 10. Соответственно внутренний цикл сработает всего 81 раз для всех итераций внешнего цикла. В итоге мы получим следующий консольный вывод:
1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81
Подобным образом можно определять вложенные циклы for:
for c1 in "ab": for c2 in "ba": print(f"")
В данном случае внешний цикл проходит по строке "ab" и каждый символ помещает в переменную c1. Внутренний цикл проходит по строке "ba", помещает каждый символ строки в переменную c2 и выводит сочетание обоих символов на консоль. То есть в итоге мы получим все возможные сочетания символов a и b:
ab aa bb ba
Выход из цикла. break и continue
Для управления циклом мы можем использовать специальные операторы break и continue . Оператор break осуществляет выход из цикла. А оператор continue выполняет переход к следующей итерации цикла.
Оператор break может использоваться, если в цикле образуются условия, которые несовместимы с его дальнейшим выполнением. Рассмотрим следующий пример:
number = 0 while number < 5: number += 1 if number == 3 : # если number = 3, выходим из цикла break print(f"number = ")
number = 1 number = 2
В отличие от оператора break оператор continue выполняет переход к следующей итерации цикла без его завершения. Например, в предыдущем примере заменим break на continue:
number = 0 while number < 5: number += 1 if number == 3 : # если number = 3, переходим к новой итерации цикла continue print(f"number = ")
И в этом случае если значение переменной number равно 3, последующие инструкции после оператора continue не будут выполняться:
number = 1 number = 2 number = 4 number = 5
#6 – Циклы и операторы в них (for, while)

В ходе урока мы с вами изучим тему циклов в языке Python. Мы научимся прописывать цикл for, а также цикл while. Дополнительно нами будут рассмотрены операторы break и continue, что используются в циклах.
Видеоурок
Циклы – одни из основных концепций языка Питон. Они позволяют выполнить одно и то же действие несколько раз подряд. Например, с помощью циклов часто выводят записи с базы данных, а также они крайне полезны во время работы с массивами данных. В Python циклы выглядят несколько иначе от своих аналогов в прочих языках.
Цикл Do While
Во многих языках программирования есть цикл do..while , который один раз запускается, а для повторного выполнения выполняет проверку условия и далее на её основе либо продолжает выполняться, либо выходить из цикла. В Питон подобного цикла не существует, но это не проблема, ведь создать алгоритм для такого цикла не сложно.
Всегда проверяйте, чтобы в коде не было бесконечных циклов. Результатом их работы становится зависание и прекращение работы программы. Если уж и использовать цикл, то нужно устанавливать интервал обновления в несколько секунд. Ещё можно создать бесконечный цикл и прервать его через оператор break .
Пример реализации своего цикла do..while :
a = 10 while True: # Сперва выполняем цикл a -= 1 if a == 0: # Далее прописываем проверку break
В данном примере цикл окажется корректным, ведь break в нужный момент завершит его выполнение.
# for i in range(1, 6, 2): # print(i) count = 0 word = "Hello World!" for i in word: if i == "w": count += 1 print("Count:", count)
Посмотреть остальной код можно после подписки на проект!
Задание к уроку
Работа с циклами
Выведите столбец чисел от 34 до 67 с выводом только четных чисел.
Используйте цикл while для этой задачи.
Циклы в Python: как работают и какие бывают
Они есть практически в каждом языке программирования, но в Python с ними работать приятнее всего. Как, впрочем, и со всем остальным.


Иллюстрация: Катя Павловская для Skillbox Media

Иван Стуков
Журналист, изучает Python. Любит разбираться в мелочах, общаться с людьми и понимать их.
Код в Python обычно выполняется последовательно: первая строка, потом вторая, третья и так далее. Но некоторые конструкции позволяют нарушать этот порядок, чтобы совершать более сложные операции.
Например, циклы выполняют один и тот же блок кода несколько раз. В Python есть два основных вида циклов: while и for. О них и поговорим.
- Функция range()
- Однострочный цикл: генератор списков
- Прерывание цикла: ключевое слово break
- Пропуск части цикла: ключевое слово continue
- Последнее действие в цикле: ключевое слово else
- Бесконечный цикл
- Как сделать аналог do while в Python
- Вложенные циклы в Python
Как работают циклы
Любой цикл состоит из двух обязательных элементов:
- условие — начальный параметр; цикл запустится только при его выполнении и закончится, как только условие перестанет выполняться;
- тело — сама программа, которая выполняется внутри цикла.
Схематически его можно представить так:

В синтаксисе Python в конце строки с условием ставится двоеточие, а всё тело выделяется отступом (табуляцией или четырьмя пробелами).

В Java и C++ такое достигается с помощью конструкции do while, но в Python её нет. Зато можно сделать аналог. Для этого нужно использовать бесконечный цикл, а внутри его тела прописать условие завершения.

Можно вкладывать друг в друга сколько угодно циклов. При этом для каждого нового уровня вложенности нужно увеличивать отступ. Выглядит это так:
while condition: pass while inner_condition: pass pass
Напишем программу, которая будет выводить номер итерации внешнего и внутреннего цикла.
for i in range(3): print(f'Итерация внешнего цикла: ') for j in range(2): print(f'Итерация внутреннего цикла: ') >>> Итерация внешнего цикла: 0 >>> Итерация внутреннего цикла: 0 >>> Итерация внутреннего цикла: 1 >>> Итерация внешнего цикла: 1 >>> Итерация внутреннего цикла: 0 >>> Итерация внутреннего цикла: 1 >>> Итерация внешнего цикла: 2 >>> Итерация внутреннего цикла: 0 >>> Итерация внутреннего цикла: 1
Резюмируем
- Циклы — один из основных инструментов любого Python-разработчика. С их помощью всего за пару строчек кода можно совершить сразу множество повторяющихся действий.
- Циклы состоят из условия и тела. Код в теле выполняется только до тех пор, пока соблюдено условие.
- В Python есть два вида циклов: while и for. В while условие задаётся явным образом. В for перебирается каждый элемент коллекции.
- К обоим видам можно применять разные операторы: break для прерывания, continue для пропуска части тела, else для совершения последнего действия перед выходом из цикла.
- Циклы можно делать бесконечными (тогда программа никогда не завершится или завершится только при выполнении определённого условия) и вкладывать друг в друга.
Больше интересного про код в нашем телеграм-канале. Подписывайтесь!
Читайте также:
- Типы данных в Python для начинающих: какие бывают и как с ними работать
- Тест: что ты знаешь про Никлауса Вирта — разработчика Pascal
- Чат-боты в Telegram на Python. Часть 1. Выбираем библиотеку и пишем первого бота
То есть объект, который может возвращать элементы по одному.
Как работает цикл for в Python
Цикл for используют, когда количество повторов известно заранее.

Анастасия Хамидулина
Автор статьи
14 апреля 2022 в 17:57
В быту нам часто приходится выполнять повторяющиеся действия. Например, чтобы повесить постиранное белье, нужно доставать и развешивать каждую вещь. В программировании такие повторяющиеся задачи упрощают. Чтобы писать один и тот же код снова и снова, используют циклы.
Итерации
Итерация — это повтор какого-либо действия. То есть один шаг цикла. Например, цикл из пяти повторений — пять итераций.
Итератор — это интерфейс, который позволяет получить следующий объект последовательности.
Итерируемые объекты — это объекты, которые можно повторять.
В Python проводят итерации только по тем объектам, которые реализуют интерфейс итератора. Это значит, что объект должен переопределять и реализовывать методы __iter__ и __next__.
Метод __iter__ возвращает self — ссылку на экземпляр. С помощью __next__ получают следующий элемент последовательности.

Схема работы цикла for
Непрофессионалу сложно разобраться в этих значениях. Но если нравится программирование и хотите его изучать, приходите на курс «Python-разработчик». Вы не только поймете все тонкости работы, но и выполните типовые проекты разработчика, добавите их в портфолио и получите диплом установленного образца. А еще вас ждут консультации центра карьеры, которые помогут быстро найти хорошее место работы.
Виды циклов
В Python есть два вида циклов: for и while.
Цикл for позволяет проводить итерации — реализовывать набор инструкций нужное количество раз. Его используют, когда количество итераций известно заранее, поэтому второе название цикла — c предусловием.
Цикл while — выполнять инструкции до тех пор, пока проверка во главе цикла будет истинной. Его используют, когда заранее не знают количества итераций, поэтому еще его называют циклом с проверкой условия.
int i = 0 while i < 10: print(“Hello, World!”) i++
Синтаксис цикла for
Он выглядит так:
Как работать с циклом for в Python
Цикл for работает со встроенными типами данных. Например, строки, списки, множества, кортежи, словари и даже файлы.
Всему этому научитесь на первом модуле курса «Python-разработчик». И даже примените новые знания при создании программы, которая позволит расшифровать азбуку Морзе.
По списку
Чтобы вывести на экран все элементы списка, напишите код:
# список elems = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # итерация по списку for item in elems: print(item) . 0 1 2 3 4 5 6 7 8 9
Такого же результата можно добиться с помощью функции range, которая генерирует последовательность чисел.
# итерация по числам с нуля до 10 не включительно for i in range(0, 10): print(i) . 0 1 2 3 4 5 6 7 8 9
С шагом
Если нужно отобразить каждое второе число из списка, сделайте проверку на деление с остатком. Алгоритм:
получаем размерность множества;
↓
отнимаем от этого числа единицу;
↓
итерируемся по множеству чисел с нуля до полученного числа включительно;
↓
получаем элементы списка, используя индексацию.

Python для начинающих аналитиков | Урок 2 | Цикл For in, list, метод Split(), tuple
Каждый шаг цикла делим индекс на 2 с остатком. Если остатка не будет, выводим число на печать. Вот так:
# кортеж elems = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) # получаем размерность length = len(elems) # нам не нужно отнимать единицу, так как # крайнее число в range не входит в последовательность # первое число тоже не указываем # по умолчанию — оно равно нулю for i in range(length): # если остатка нет — выводим число if i % 2 == 0: print(elems[i]) . 0 2 4 6 8
Этот же пример можно выполнить с помощью функции enumerate. На каждой итерации эта функция возвращает индекс элемента и его значение.
# множество elems = # применяется распаковка кортежа вида (индекс, элемент) for index, elem in enumerate(elems): if index % 2 == 0: print(elem) . 0 2 4 6 8
Так это делают с помощью шага в функции range:
# каждое второе число от 0 до 10 for i in range(0, 10, 2): print(i) . 0 2 4 6 8
Если необходимо прервать цикл, например когда ожидали символ, а получили число, используйте инструкцию break.
for chr in "The t3st string" if chr.isdigit(): break print(chr) . T h e t
# дальше вывод не пойдет, так как слово t3st написано через тройку
Перейти на следующий шаг цикла можно с помощью инструкции continue.
for i in range(10): if i % 3 == 0: continue print(i) . 1 2 4 5 7 8
По строке
Иногда в алгоритмах нужно применять альтернативные инструкции для объектов, которые не проходят проверку. Выведем на печать каждый символ строки, меняя нижний регистр на верхний:
for chr in "THis is THe TEst sTRinG": if chr.islower(): print(chr.upper()) else: print(chr) . T H I S I S T H E T E S T S T R I N G
Если вы хотите прочитать каждую строку файла:
with open('file.txt', 'r') as f: for line in f: print(line)
По словарю
Итерацию по словарю проводят тремя способами. Первый и второй способ дают очередной ключ и очередное значение словаря на каждом шаге. Третий — и ключ, и значение за один шаг.
mydict =
# итерация по ключам for key in mydict: print(f" :: ")
# вывод вида . 1 :: one 2 :: two 3 :: three 4 :: four 5 :: five
# по ключам с явным указанием for key in mydict.keys(): print(f" :: ")
# вывод вида . 1 :: one 2 :: two 3 :: three 4 :: four 5 :: five
# итерация по значениям for value in mydict.values(): print(value) . one two three four five
# итерация по ключам и значениям # применяется распаковка кортежа вида (ключ, значение) for key, value in mydict.items(): print(key, value) . 1 one 2 two 3 three 4 four 5 five
Обратный цикл
Встроенная функция reversed и слайсинги позволяют проводить итерацию по объекту в обратном порядке.
elems = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# пример for item in reversed(elems): print(item) . 9 8 7 6 5 4 3 2 1 0
# пример использования слайсингов for item in elems[::-1]: print(item) . 9 8 7 6 5 4 3 2 1 0
Генератор
Инструкция for есть в различных выражениях-генераторах, например генераторе списка или словаря.
Разобраться во всех тонкостях языка проще на курсе «Python-разработчик». Вам помогут опытные преподаватели и наставники, вы попрактикуетесь, составите сильное портфолио и резюме, а еще получите диплом установленного образца.
# так мы сделаем список из 20 случайно сгенерированных чисел mylist = [random.randint(0, 11) for _ in range(20)]