Только до 28.11
Вечерний «Путь в ИТ» с Иваном Ургантом
Кнопка закрыть топ-бар
ГлавнаяБлогЦиклы в Python: виды и примеры
Нейронные сети на Python
4 445
Время чтения: 15 минут

Циклы в Python: виды и примеры

4 445
Время чтения: 15 минут
Сохранить статью:
Сохранить статью:

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

Какие бывают? В Python основных циклов всего два – «while» и «for». Первый используется тогда, когда заранее известно количество итераций, а второй – когда нужно выполнить перебор элементов. Но мало знать принципы работы циклов, в работе необходимы еще и операторы, которые делают «while» и «for» бесконечными или вложенными, прерывают их или меняют. Ниже в статье постарались объяснить все это доступным языком с примерами.

В статье рассказывается:  
  1. Что такое циклы в языке программирования Python
  2. Зачем нужны циклы в Python
  3. 2 цикла в Python
  4. Примеры циклов в Python
  5. Выход из цикла Python или его смена
  6. Бесконечные и вложенные циклы в Python
  7. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.
    Бесплатно от Geekbrains

Что такое циклы в языке программирования Python

Цикличные задачи имеют место даже в повседневной жизни. Например, различные списки продуктов, целей на день, назначенных встреч и т. д. Приходя в супермаркет, человек ориентируется на список, покупая все товары, которые в нем указаны.

Циклы в языке программирования Python
Циклы в языке программирования Python

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

В рамках данной темы можно выделить ряд базовых понятий:

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

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

Зачем нужны циклы в Python

Циклы в Python позволяют сделать из сложных задач более простые. С помощью них вы можете настроить поток программы так, чтобы код повторялся определенное количество раз. Иными словами, вам не придется постоянно прописывать один и тот же код. Допустим, что перед вами стоит задача вывода первых 20 натуральных чисел. Вы, конечно, можете применить оператор «print» 20 раз, но гораздо более удобный вариант — вывести их внутри цикла, который выполняет до 20 итераций.

Применительно к Python можно выделить следующие плюсы использования циклов:

  1. Возможность перебора элементов структур данных (массивов или связанных списков).
  2. Возможность многократного использования кода.
  3. Отсутствие необходимости прописывать один и то же код несколько раз.
ТОП-30 IT-профессий
2022 года с доходом
от 200 000 ₽
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Александр Сагун
Александр Сагун
Исполнительный
директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2022

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ ресурсов об IT-сфере

Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT

pdf иконка

ТОП 50+ сервисов и приложений от Geekbrains

Безопасные и надежные программы для работы в наши дни

pdf 3,7mb
doc 1,7mb
Уже скачали 16056 pdf иконка

Эти преимущества циклов присущи и другим языкам.

2 цикла в Python

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

Оператор цикла Описание
«For» Данный цикл применяется в том случае, если нужно выполнять тот или иной фрагмент вплоть до момента, когда будет исполнено заданное условие. Цикл «for», который иногда называют циклом с предусловием, рекомендуется применять в тех ситуациях, когда вы заранее знаете численность итераций.
«While» Этот цикл применяется в тех случаях, когда численность итераций заранее не известна. Блок операторов выполняется до тех пор, пока не будет выполнено условие, указанное в цикле. У него есть альтернативное название — цикл с предварительной проверкой условия.
«do-while» Он продолжается вплоть до момента, когда будет выполнено заданное условие. Альтернативное название — цикл с постусловием в Python. Применяется в ситуациях, при которых стоит задача как минимум однократного выполнения цикла.

 

Примеры циклов в Python

Цикл «for»

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

for [элемент] in [последовательность]:

[сделать указанное]

«For» может также включать в себя различные виды данных: цифры, слова и т. д. К примеру:

for i in 21, 25, ‘один’, ‘два’:

print(i)

После того как будет произведен запуск, на экране отобразится следующее:

21

25

один

два

Только до 28.11
Как за 3 часа
разбираться в IT
лучше, чем 90%
новичков и выйти на
доход в 200 000 ₽?
Приглашаем вас на бесплатный онлайн-интенсив «Путь в IT»! За несколько часов эксперты GeekBrains разберутся, как устроена сфера информационных технологий, как в нее попасть и развиваться.
Александр Волчек CEO GeekBrains

Интенсив «Путь в IT» поможет:

  • За 3 часа разбираться в IT лучше, чем 90% новичков.
  • Понять, что действительно ждет IT-индустрию в ближайшие 10 лет.
  • Узнать как по шагам c нуля выйти на доход в 200 000 ₽ в IT.
При регистрации вы получите в подарок:
pdf иконка

«Колесо компетенций»

Тест, в котором вы оцениваете свои качества и узнаете, какая профессия в IT подходит именно вам

doc иконка

«Критические ошибки, которые могут разрушить карьеру»

Собрали 7 типичных ошибок, четвертую должен знать каждый!

pdf иконка

Тест "Есть ли у вас синдром самозванца?"

Мини-тест из 11 вопросов поможет вам увидеть своего внутреннего критика

Хотите сделать первый шаг и погрузиться в мир информационных технологий? Регистрируйтесь и смотрите интенсив:
Только до 28 ноября
Осталось 17 мест

Функция «range()» позволяет упростить работу. Она демонстрирует нужное число повторов последовательности. Тем самым данная функция цикла для Python конкретизирует элементы из списка «for», которые вам нужны в данный момент. В скобках вы увидите от 1 до 3 чисел:

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

Вы, конечно, можете написать код следующим образом:

for i in [21, 22, 23, 24, 25]:

print(i)

Однако это создаст излишние сложности. Это будет проблематично тогда, когда имеет место внушительное количество чисел. Следовательно, имеет смысл применить вышеназванный «range()»:

for i in range(21,25):

print(i)

При любом из этих вариантов вы увидите на экране следующую последовательность:

21

22

23

24

Цикл «while»

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

В конечном итоге последовательность завершается в том случае, если условие цикла уже не может быть выполнено. Проще говоря, когда оно перестаёт быть истинным. Отличие этого цикла от «for» заключается в том, что разработчик не имеет информации о численности проверок.

Примеры циклов в Python
Примеры циклов в Python

Образец цикла «while» в Python:

while [условие истинно]:

[сделать указанное]

Рассмотрим вариант применения:

count = 0

while count < 6:

print(count)

count += 2

В этом случае переменной даётся значение 0. Далее начинается цикл, повторяемое условие которого число меньше 6. Тело цикла, как вы можете видеть, тоже включает в себя две инструкции, каждая из которых выполняет определенную задачу. Первая нужна, чтобы отобразить число на экране, а вторая — чтобы увеличить его значение на два. В итоге повторение цикла производится вплоть до момента, когда условие перестает быть истинным. На экране вы сможете увидеть такую последовательность чисел:

0

2

4

После тела цикла можно вписать «else» и блок операций, которые следует осуществить после завершения «while».

Как правило, она имеет смысл лишь в том случае, когда указана «break». Однако программа функционирует вне зависимости от отсутствия или наличия последней. Рассмотрим код:

count = 3

while count < 7:

print count, » меньше 7″

count = count + 1

else:

print count, » не меньше 7″

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

3 меньше 7

4 меньше 7

5 меньше 7

6 меньше 7

7 не меньше 7

Выход из цикла Python или его смена

Чтобы произвести выход из цикла в программировании на Python применяется оператор «break». Он осуществляет досрочное завершение, обходя «else». Для чего же это нужно? К примеру, при выполнении кода была выявлена ошибка, и, следовательно, последующая работа будет безрезультативной.

while True:

name = input(‘Введите имя:’)

if name == ‘хватит’:

break

print(‘Здравствуйте’, имя)

Реализация:

Введите имя: Анатолий

Добрый день Анатолий

Введите имя: Екатерина

Добрый день Екатерина

Введите имя: хватит

Затем выполнение программы будет завершено.

Ещё одна инструкция, вносящая изменения в цикл, — «continue». При написании данного оператора внутри кода программа игнорирует все остальные инструкции до конца цикла. Далее начинается следующая итерация.

Но не стоит делать слишком большой акцент на применении подобных инструкций.

Бесконечные и вложенные циклы в Python

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

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

В качестве примера рассмотрим следующий код:

Num = 4

while num < 6:

print «Добрый день»

Как вы можете заметить, переменная всегда будет являться числом 4, так как не прописано ее повышение. По этой причине на экране будет отображаться лишь «Добрый день».

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

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

Речь пойдет о вложенных «for» и «while». Рассмотрим несколько вариантов применения таких циклов. Их на постоянной основе применяют в процессе обработки двухмерных списков.

Обратите внимание на пример создания двумерного списка и вывода его на экран посредством «print».

d = [[1,2,3],[4,5,6]]

for i in range(2):

for j in range(3):

print(d[i][j])

После использования одного «break» в Python произойдёт выход лишь из одного цикла. Ниже вы можете посмотреть на условие, которое позволяет выйти сразу из двух.

toExit = False

while True:

while True:

toExit = doSomething()

if toExit:

break

if toExit:

break

Это называется циклом в цикле. Причем они оба являются бесконечными. После того как функция «doSomething» вернет «True», выполнение кода прекратится. Затем друг за другом активируются «break» в каждом из циклов.

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

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

Теперь вы знаете, как работают циклы в Python. С их помощью вы сможете упростить повторение, а также сделать его более логичным.

Оцените статью
Рейтинг: 2.8
( голосов 10 )
Поделиться статьей
Добавить комментарий

Забрать
гарантированный
подарок

Получите бесплатно подборку файлов от GeekBrains:

Осталось 17 мест

Поздравляем! Вы выиграли 4 курса по ИТ профессиям. Чтобы закрепить подарок и получить к нему доступ, заполните информацию в открывшемся окне

×
Петр Озеров
Петр Озеров печатает ...