Документация по Python. Теоретические материалы, и практические задачи

Цикл while Python

Цикл While Python

Мы уже познакомились с циклом for, как вы помните, циклы предназначены для выполнения повторения определенного блока кода. В этой статье, мы с вами познакомимся с еще одним видом цикла, который называется While.

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


n =10 # Объявление переменной

summa = 0 # Объявление переменной

i = 1 # Объявление переменной

while i <= n: # До тех пор, пока i &lt;= n

    summa = summa + i # пока условие верно, при каждой итерации цикла, к значению переменной summa, добавляем i

    i = i +1 # Счетчик количества итерации

print("Переменная сумма равна: ", summa,"Счетчик равен: ", i)

Результат:

Переменная сумма равна: 55 Счетчик равен: 11

В комментариях к коду, постарался объяснить каждую строку кода. Пройдемся еще раз. Цикл выполняется до тех пор, пока значение переменной i меньше либо равно значение переменной n. При каждой итерации цикла, значение переменной i увеличивается на единицу, а переменной summa добавляется значение i. Сама логика как видите довольна проста, но, очень часто новички при использовании цикла while, допускают ошибку, которая приводит цикл, в бесконечный режим.

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

Помните фильм Доктор Стрэндж? В самом конце фильма, Доктор Стрэндж организовал временную петлю, и поставил Дормамму условие, что если он не покинет землю, он так и останется в петле. А если бы Доктор не поставил бы условие, то Дормамму, навсегда остался бы в петле, уловили посыл? В конце статьи оставлю для вас отрывок концовки, если не смотрели фильм, обязательно посмотрите .

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


n =10 # Объявление переменной

summa = 0 # Объявление переменной

i = 1 # Объявление переменной

while i <= n: # До тех пор, пока i не равно n

    summa = summa + i # пока условие верно, при каждой итерации цикла, к значению переменной summa, добавляем i

print("Переменная сумма равна: ", summa,"Счетчик равен: ", i)

Результат:

Программа не выполнится никогда.

Откройте свой Pycharm, и попробуйте запустить этот код, ну или воспользуйтесь сервисом repl.it. Результатом будет полное зависание, а все потому что, мы никак не отслеживаем положение нашего условия, поэтому никогда не забываем про этот ключевой момент.

Цикл While и else

Как с примерами в цикле for, мы так же можем использовать дополнительный блок else. Блок с else, выполнится только тогда, когда условие в цикле while, вернет нам False. Цикл while, может быть завершен оператор break, в таком случае, блок else, будет проигнорирован. Разберем пример.


count = 0

while count < 5:

    print("Цикл работает")

    count = count + 1

    else:

        print("Условие цикла достигнуто, завершение цикла.")

Результат:

Цикл работает
Цикл работает
Цикл работает
Цикл работает
Цикл работает
Условие цикла достигнуто, завершение

Как видите, цикл отработал до тех пор, пока значение count перестало выполнять условие, то есть 5 раз. После того, как условие цикла вернуло False, выполнился блок else.

Операторы break и continue

Оставьте комментарий

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