Циклы. Цикл

Циклы. Цикл "Пока" / с Условием. Программирование на языке Питон для начинающих

Во всех предыдущих примерах и учебных матераилах по языку программирования Python мы говорили только о линейных алгоритмах или алгоритмах с выбором. И во всех примерах программа пройдя определенный путь завершалась. Но что если нам необходимо повторять некий набор действий много много раз? И как раз для таких случаев существует конструкция повторения.

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

В зависимости от способа организации повторений различают три типа циклов:

  1. цикл с заданным условием продолжения работы;
  2. цикл с заданным условием окончания работы;
  3. цикл с заданным числом повторений.

В Python, как и во многих других языках программирования эти конструкции называются: цикл ПОКА (выполняется некоторое условие) и цикл ДЛЯ (всех значений последовательности). Аналогов Цикла с заданым условием окончания работы мне найти не удалось (если я не прав, то напишате об этом в комментариях).

Цикл While

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

Проверяемое условие записывается до тела цикла и проверяется до выполнения тела цикла. Как правило, цикл while используется, когда невозможно определить точное значение количества проходов исполнения цикла.

Синтаксис цикла while в простейшем случае выглядит так

1
2
while условие:
    блок инструкций

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

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

count = 0 while count < 5: print(count) count += 1

В этой программе переменной count присваивается значение 0. Затем начинается цикл (ключевое слово while) с проверяемым условием count<5. Тело цикла содержит две инструкции: вывод на экран значения переменной count и увеличение значения переменной count на 1.

При выполнении этого цикла проверяется условие count<5. Поскольку значение count изначально равно 0, то условие верно и выполняется тело цикла: на экран выводится значение переменной count, то есть 0 и переменной count присваивается значение count+1, то есть 1. Снова проверяется условие, поскольку оно верно, то выполняется блок цикла: на экран выводится число 1 и переменной count присваивается значение 2. Опять проверяется значение цикла, и так далее до тех пор, пока проверяемое условие истинно.

Как только проверяемое условие станет ложно (это произойдет, когда переменная count станет равна 5), цикл завершит работу и управление будет передано следующей инструкции после блока цикла. Поэтому после завершения цикла переменная count будет иметь значение 5 (попробуй изменить число в условии и посмотри что произойдет. Не забудь после этого нажать кнопку RUN).

Например, следующий фрагмент программы напечатает на экран квадраты всех целых чисел от 1 до 10. 

i = 1 while i <= 10: print(i*i) i += 1

В этом примере переменная i внутри цикла изменяется от 1 до 10. Такая переменная, значение которой меняется с каждым новым проходом цикла, называется счетчиком. Заметим, что после выполнения этого фрагмента значение переменной i будет равно 11, поскольку именно при i==11 условие i<=10 впервые перестанет выполняться.

Оператор while говорит интерпретатору Python: "пока верно условие цикла, выполнять тело цикла ". В языке Python тело цикла выделяется отступом. Каждая команда в теле цикла должна быть на одинаковом отступе от края.

В общем виде синтаксис цикла с условием в языке Питон такой:

1
2
3
4
5
while условие:
    инструкция 1
    инструкция 2
    ...
    инструкция n

В каждой инструкции while должны присутствовать:

  1. Условие, определяющее, будет ли выполняться тело цикла. Это условие записывается после слова while и может быть произвольным арифметическим выражением, в котором должен быть хотя бы один из операторов ==!=<><=>= и могут использоваться логические операторы andornot. После условия ставится двоеточие.
  2. Тело цикла, состоящее из одной или нескольких инструкций, записанных с отступом одинаковой величины.
  3. Инструкции, изменяющие значения переменных, входящих в проверяемое условие. 

Упражнение

По данному числу n напечатайте "лесенку" из n ступенек (см. пример). 
*
**
***
****
*****
Попробуйте сами. Нажмите кнопку SOLUTION чтобы увидеть готовый код (Но лучше сначала попробовать самостоятельно). НУЖНА подсказака - пишите в комментарии! ))

n=7 i while i n: print ("*"*i) n=7 i=1 while i < n: print ("*"*i) i+=1 test_object("n") test_object("i") success_msg("Super!")




comments powered by Disqus

Группа Вконтакте

VK Widget

Случайные заметки