Язык программирования Python: циклы

PythonСуществует несколько способов зацикливания действия в языке программирования Python. Основными инструментами, используемыми для реализации какой либо итерации в Python, являются циклы for иwhile. Цикл while считается более универсальным, чем цикл for, поэтому работает он медленнее. Но это вовсе не значит, что данный цикл лучше. For используется намного чаще для создания многоусловных и многоуровневых программ.

Python: цикл с постусловием

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

Циклы с постусловием в языке программирования Python имеют следующий синтаксис:

  1. While (условие)
  2. Выражение. Выражением может быть одна или несколько конструкций. Условие – это всегда некоторое истинное или ненулевое значение. Работает подобная конструкция до тех пор, пока заданное условие является истиной.

Пример использования цикла While в Python

Давайте более подробно рассмотрим цикл while. Язык программирования Python довольно интересно структурирует его итерации.

a=0

while a<7

print (“A”)

a=a+1

В данном примере мы объявили переменную “a” и задали ей нулевое значение. После этого задали условие “whilea<7”. Это значит, что пока переменная a будет меньше 7, то цикл будет выполняться до тех пор, пока условие не перестанет выполняться. Цикл станет ложным тогда, когда переменная станет больше числа “7”. Чтобы это произошло, переменная каждый раз увеличивается на 1, что и указано в строке “a=a+1”. Если запустить такую конструкцию, то буква “A” будет выведена на экран 7 раз в столбик.

Бесконечный цикл while в языке программирования Python

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

number =1 # объявляем переменную number и присваиваем ей значение 1

whilenumber<10: # создаем постусловие, в котором number должен быть меньше 10

print ‘Hello’ # выполняется условие – печать сообщения «Hello»

Не стоит торопиться компилировать такую программу, так как она будет выполняться бесконечно. Здесь заданы такие условия, при которых ложного значения никогда не будет. В данном случае условие “number<10” истинно и неизменно. По этой причине итерация будет осуществляться постоянно, выводя N-ое количество “Hello”.  Чтобы остановить процесс бесконечной компиляции, необходимо нажать комбинацию клавиш Ctrl+Cв shell.

Синтаксис Python: циклы for и while

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

Давайте рассмотрим пример использования цикла for в языке программирования Python. Предположим, у нас есть некоторый список чисел. Нам нужно увеличить каждый элемент на три единицы. Мы можем реализовать такую задачу путем зацикливания методами цикла for. Рассмотрим небольшой пример, в котором мы будет выполнять соответствующие действия.

spisok_chisel = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95] # объявлен массив, в котором содержится 10 цифр

count = 0 # создали счетчик, имеющий нулевое значение

forelementsinspisok_chisel: #перебираем массив и записываем его в elements

spisok_chisel [count]=elements +3 #увеличиваем число из массива на 3

count=count+1#переходим по индексу к следующему числу

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

spisok_chisel = [8, 18, 28, 38, 48, 58, 68, 78, 88, 98]

В приведенном примере имеется переменная count, которая необходима для того, чтобы отмечать имеющиеся в массиве «spisok_chisel» значения. В переменную count записываются значения индекса каждого элемента в массиве или каждого числа в списке. Получившиеся значения в списке связывает переменная «elements». В цикле for мы можем наблюдать, как реализуется обработка каждого численного объекта из списка. Каждому числовому объекту с индексом count внутри цикла прибавляется сумма текущего элемента и тройки. Индекс count затем увеличивается на один. Поток реализации программы возвращается в начало объявления цикла for. Цикл будет работать до тех пор, пока не будет обработан каждый элемент в массиве, заданный по условию. Если один из элементов отсутствует, но при этом по условию он задан, то процесс цикла будет завершен. Стоит обратить внимание на еще одну особенность: если не написать строку «count= count+1», то, несмотря на то, что все объекты массива успешно обработаются,результат постоянно будет складываться с первым числовым объектом с нулевым индексом. Теперь давайте вспомним о принципах работы цикла whileиопределим разницу. Стоит напомнить, что выход из цикла с постусловием в языке программирования Python осуществляется исходя из логических критериев true или false (true–цикл продолжает работать, false– цикл останавливается).

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

for переменная

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

in переменная_2

in является обязательным условием при работе с циклом for. Из переменной_2будет браться значение, которое мы будем итерировать. Для большей наглядности давайте рассмотрим пример того, как правильно работать и перебирать строки в языке программирования Python.

Char = “программирование”# объявили строковую переменную и присвоили ей значение

forslovoinchar# создали переменную slovo, где будут храниться индексы перебора из переменной char

print(slovoend = ‘^’) # выводимslovoи вставляем символ ^ после каждой буквы

Результатом выполнения такого скрипта будет следующее:

П^р^о^г^р^а^м^м^и^р^о^в^а^н^и^е

Использование оператора continue

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

forcountin ‘повторить каждую букву кроме о’

if count == ‘о’

continue

print (count*2, end=”)

В результате появится следующее:

Ппввттррииттььккаажжддууююббууккввуу,, ккррммее

Здесь, когда обработчик нашел в строке «повторить каждую букву, кроме о» букву «о», выполнение программы было перенаправлено на строчку после слова «continue», где по условию необходимо продублировать каждую букву.

Оператор break

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

forcountin ‘повторим каждую букву, кроме о’

if count == ‘о’:

break

print (count*2, end=’’)

В результате получится следующее:

пп

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

Оператор else

Можно применить в цикле любого вида оператор else. Для чего же нужен данный оператор? Он осуществляет проверку на то, выполнялся ли выход из цикла методом break или обычным путем. Блок с заданными правилами внутри оператора else начнет реализацию только втом случае, если выход из цикла был выполнен без использования конструкции break. Давайте рассмотрим пример:

forcountin ‘приветмир’:

ifcount == ‘я’:

break

else:

print (‘В фразе нет буквы «я»’)

Результат выполнения скрипта будет следующий:

В фразе нет буквы «я»

Примеры циклов с обратным порядком в Python

Как в Python реализуется обратный цикл? Давайте представим, что мы пишем программу, которая должна распознавать символьную строку и печатать ее в обратном порядке. Как реализовать такую программу? Рассмотрим представленный ниже пример:

slovo = ‘программирование’

new_slovo = []

for count in range (len (s), 0, -1):

new_slovo.append (s[i-1])

new_slovo

[‘п’, ‘р’, ‘о’, ‘г’, ‘р’,‘а’,‘м’,‘м’,‘и’,‘р’,‘о’,‘в’,‘а’,‘н’,‘и’,‘е’]

print (‘’. join(new_slovo))

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

еинавориммаргорп

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

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *