Циклы в Питоне


Чтобы производить повторяющиеся расчёты, на языках программирования были созданы специальные конструкции которые называются циклами. именно они помогают компьютеру высчитывать какие-то величины очень большое число раз.


Циклы в Питоне

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


Цикл с предусловием while


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


i=1 # задаём начальное значение i

while i<=100: # проверка. пока значение i меньше или равно 100, операторы цикла выполняются
print (i =, i)
i=i+1 # стандартный счётчик увеличивающий значение i

Эта конструкция напечатает ряд строк, где i будет в диапазоне от 1 до 100


Цикл с параметром for


Гораздо быстрее выполняется цикл for это связано с тем, что в нём нет логических проверок. Он подходит для любого итерируемого объекта (те, которые можно вычислить конечное число раз). Подходят не только числа, но и строки и списки, что делает его более универсальным. Однако при этом, его синтаксис будет казаться поначалу более запутанным, чем, к примеру, for на Паскале. Во время каждого прохода выполняются все операторы (нужно сделать отступ), находящиеся в теле цикла.


Пример цикла for с диапазоном чисел


s=0

for i in range(1,n):
s=3+s

то есть пока i идёт от 1 до n-значения переменная s будет накапливать сумму чисел, делящихся на 3.


Пример цикла for со строкой



a=Эта строка задаёт количество проходов цикла
s=0
for i in a:
s=1+s
print(Длина строки ",a," =,s)

В этом цикле в переменной s вычисляется длина строки, которая была передана в строковую переменную a.


Дополнительные операторы, используемые в циклах на Питоне


Однако на практике бывает очень много ситуаций в которых нужно игнорировать часть блока операторов или наоборот, принудительно выйти из цикла, если все необходимые данные уже в нём подсчитаны. Их одинаково хорошо можно использовать в циклах for и while. Посмотрим как они работают.


Оператор следующего прохода continue


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



a=0
for i in 3232453232455456: # делаем цикл по строке (а не числу!)
if i != 3:
continue # если условие срабатывает, берём следующий символ
print(i)
a=a+1 # увеличиваем счетчик троек
print(Число троек в строке = ,a)

Этот пример делает цикл по строке и по условию проверяет каждый символ на соответствие с числом 3. Если находит его, то увеличивает счётчик a, а в самом конце выводит общее число троек в строке.



Оператор прерывания цикла break


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



a=0
for i in 32324532732455456:
if i == 7: # если находит символ 7 прерывает обработку цикла.
break
print(i)
a=a+1
print(Число символов в строке до 7 = ,a)

Результат выполнения программы



Инструкция проверки прерывания else


Для завершения цикла более естественным образом, применяется, как вы знаете в условном операторе if. В цикле эта команда будет определять было ли произведено прерывание инструкцией break. Если это имеет место, то выполняется блок операторов, стоящих за этой инструкцией.


Видоизменим наш пример, с включением обработки исключительного случая.


a=0

for i in 32324532732455456:
if i == 7: # если находит символ 7 прерывает обработку цикла.
break
print(i)
a=a+1
else:
print(в строке символов не содержится символ 7)
print(Количество символов в строке (до символа 7) = ,a)

Здесь главное не промахнуться с расстановкой отступов, у else их нет, так как она выше проверки условия if. если сделаете правильно - код заработает правильно.


Вот так может быть выполнен этот код, если семёрка встречается



а вот так, если её нет в строке



На этом я попрощаюсь с вами. Разбирайте примеры по этой теме.


Как быстро посчитать на Питоне? Строки в Питоне