Close

Урок 9. Циклы

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

Цикл While

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

Мы создали переменную n и присвоили ей значений 1. Затем мы запускаем цикл while, внешний вид которого напоминает функцию. После команды while указано условие, выполнение которого проверятся. Далее следует тело цикла. Оно, как и тело функции, отделятся смещением от начала строки. Тело цикла заканчивается там, где строки кода идут на том же уровне отступа что и команда while. Единичное выполнения тела цикла называется итерацией.

Запустив цикл, мы выводим значение переменной n равное 1. Затем, в следующей строке цикла, мы увеличиваем значение n на единицу и снова возвращаемся к началу циклу. Выражение 2<5 является истинным, поэтому две следующие строки выполняются снова. Это продолжается до момента, когда переменная n станет равна 5, а выражение 5<5 станет ложным. После этого, выполнится строка с командой print «Loop finished»

Следует быть внимательным с условием цикла, так как очень просто сделать его бесконечным. В нашем примере достаточно изменить знак на — в строке, где мы увеличиваем n, и наша программа зависнет на выполнении вечного цикла. Чтобы в таком случае завершить ее, необходимо в интерактивном режиме нажать комбинацию клавиш CTRL+C или, в PyCharm нажать CTRL+F2 или квадрат, находящийся около кнопки запуска программы.

Цикл For

Другой вид циклов это — for. Он обычно используется при перечислении элементов каких-либо множеств, или похожих структур. Этими элементами могут быть переменные, строки, файлы…

Следующий код, делает то же самое, что и код из примера с циклом while, он выполняет команду print для ряда чисел:

Здесь, мы используем функцию range(). Это встроеная в python функция, предназначенная для генерации числового ряда, в нашем случае ряда, состоящего из 4 чисел. Range() принимает два атрибута, начальное и конечное числа. В первой строке мы создаем переменную n и ей присваивается значение 1. Затем происходит первая итерация цикла, после которой n становится равна 2 и так продолжается, пока ряд сгенерированный range() не заканчивается до числа 5.

При использовании for нет необходимости обьявлять переменную цикла заранее, как мы это делали в цикле while.

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

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

Вложенный цикл производит итерацию по списку символов [«a», «b», «c»]. В дальнейшем, мы разберем, для чего нужны списки, здесь он показывает, что необязательно использовать функцию range() в циклах for.

9_1

Вложенный цикл будет выполняться для каждого n, то есть в сумме выполнит 9 итераций.

Поделиться: