Хорошо организованный и прозрачный код делают работу программистов эффективнее. Специалисты могут быстро разобраться в таком коде и легко внести необходимые изменения. Но как сохранить код удобочитаемым, если решение требует большого количества повторов одного и того же действия? На помощь приходят циклы. Именно они не позволят коду сильно увеличиться в объеме и помогут избежать появляющихся при копировании ошибок.
Что такое циклы в программировании?
В программировании цикл — базовый инструмент автоматизации повторяющихся задач. Он позволяет настроить повторение действия без постоянного копирования одного и того же блока кода.
На практике использование цикла будет выглядеть так: вы организатор конференции с большим количеством участников и хотите вывести на экран нумерованный список всех зарегистрировавшихся. Для этого можно набирать имена участников и присваивать им номера вручную или использовать цикл для автоматизации процесса.
В последнем случае цикл присвоит номер 1 первому участнику. Далее он будет выводить имена из списка участников и увеличивать номер каждого следующего зарегистрировавшегося на единицу. Процесс будет продолжаться до момента вывода последнего имени в списке.
Пример кода:
participants = ["Анна", "Борис", "Виктор", "Галина", "Дмитрий"]
for i in range(len(participants)):
print(f"Номер {i+1}: {participants[i]}")
Немного теории
- Цикл состоит из тела и условия. Тело — описание действий для повтора.
- Код в теле выполняется, когда условие истинно (True).
- Каждый повтор цикла называется итерацией.
- В языке Python есть циклы for и while. Каждый цикл управляет повторениями своим способом.
Циклы Python: как это работает?
Цикл Python проверяет заданное условие: если оно истинно, блок кода выполняется. Условие проверяется снова и снова до тех пор, пока оно не станет ложным.
Цикл Python: for
Этот цикл используется, когда вы знаете, сколько раз нужно повторить блок кода. Он работает со строками, списками, файлами, словарями и множествами. В процессе реализации цикл for пробегается по имеющимся значениям и помещает каждое в переменную. Далее с этой переменной можно производить различные действия.
Цикл for в Python будет воспроизводить тело цикла по числу элементов в последовательности. Когда цикл пройдется по всем значениям из набора, программа завершит свою работу.
Например, мы хотим вывести на консоль каждое второе число из последовательности от 1 до 10. Условием вывода будет проверка на деление с остатком: мы будем отображать числа, если в результате процесса деления на 2 у них нет остатка.
Как будет выглядеть процесс: цикл будет делить каждое число от 1 до 10 на 2 и выводить в консоль только те, в результате деления которых нет остатка. То есть числа 2, 4, 6, 8, 10.
Пример кода:
elems **=** [1, 2, 3, 4, 5, 6, 7, 8, 9,10]
**for** i **in** elems:
**if** i **%** 2 **==** 0:
print(i)
Код выведет:
2
4
6
8
10
Цикл Python: while
Python использует цикл while для воспроизведения блока кода с неизвестным числом повторений. Для этого после ключевого слова while указывается условное выражение, и пока это выражение возвращает значение True, будет выполняться блок инструкций, который идет далее.
Представим, что нам необходимо повторение цикла while, пока значение переменной меньше 3. Весь процесс будет выглядеть следующим образом:
- Первая итерация. Для начала цикл сравнивает значение переменной number, которая инициализирована значением 1, со значением 3. Условие вернет результат True и выполнит инструкции цикла. Допустим, мы хотим вывести строку number = 1 в консоль. Далее переменная увеличится на единицу и будет равна 2.
- Вторая итерация. Цикл снова проверит условие number < 3. Условие снова выполняется, так как 2 < 3. Мы снова получаем ответ True и выполнение инструкции цикла, т. е. вывод строки number = 2.
- Третья итерация. Цикл снова проверяется условие number < 3. Оно возвращает результат False, так как number = 3. Программа выполняет выход из цикла в связи с его завершением. Далее код выполнит действие, которое определено как следующее за циклом. Например, выведет фразу «Мы закончили!»
Пример кода:
number = 1
while number < 3:
print(f"number = {number}")
number += 1
print("Мы закончили!")
Код выведет:
number = 1
number = 2
Мы закончили!
Управление циклами Python
Для управления циклами часто используют инструкции break и continue. Break позволяет прервать цикл, если обнаружилось условие, которое делает воспроизведение цикла невозможным. Continue позволяет пропустить итерацию и перейти к следующей без завершения цикла.
Записывайтесь на курс «Python-разработчик», и вы научитесь писать код на Python с использованием циклов, фреймворков, паттернов, баз данных и пр.