Модуль: Циклы. Цикл с параметром (for)


Задача

1/15

Циклы в программировании

Теория Нажмите, чтобы прочитать/скрыть

Циклы

Представим ситуацию, когда нам необходимо вывести на экран слово "Hello" 10 раз. Как нам поступить?
Можно взять и 10 раз написать команду print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")

А что если надо не 10 раз, а 20, 30, 40 раз? А если 200 раз? В этом случае копирование займет очень много времени. А если необходимо, чтобы пользователь сам мог выбирать сколько раз ему необходимо вывести на экран какую-либо информацию? 

Справиться с такой задачей нам поможет специальная конструкция, которая называется цикл.
 
Цикл - это алгоритмическая конструкция, в которой некоторая последовательность команд повторяется несколько раз.

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

Цикл с переменной, или с известным числом шагов (цикл for)

Очень часто бывает, что мы знаем число повторений каких-либо действий или же можем число повторений вычислить через известные нам данные. В некоторых языках программирования есть команда, которая на русском языке записывается командой
ПОВТОРИ (количество_повторений).

В этом случае мы можем указать конкретное число повторений. 
Интересно проследить, как работает этот цикл на машинном уровне:
1. в памяти выделяется определенная ячейка памяти и в нее записывается число повторений,
2. когда программа выполняет тело цикла один раз, содержимое этой ячейки (счетчик) уменьшается на единицу.
3. выполнение цикла заканчивается, когда в этой ячейке будет ноль.

В языке Python нет такой конструкции, но есть конструкция for.
 
Надо запомнить!
Общая форма записи оператора цикла for выглядит следующим образом:
for <переменная-счетчик> in <значения переменной-счетчика>:
    # тело цикла

1. Имя переменной-счетчика может быть любым (чаще используют букву i)
2. Тело цикла записывается со сдвигом вправо, относительно строки с заголовком цикла (for). По стандарту PEP8 сдвиг осуществляется на 4 пробела.
 
Посмотрим примеры как можно записать вывод слова "Hello" 10 раз.
 
Пример 1
for i in range(10): # для переменной i, изменяемой в диапазоне (in range) 
                    # от 0 до 10 (10 не включается)
    print("Hello")  # печатать Hello
Переменная - это счетчик выполненных итераций (шагов) цикла. В данном случае цикл выполняется для i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. То есть ровно 10 раз.
Эту же программу можно записать по-другому.
 
Пример 2
for i in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]:
    print("Hello") 
В примере 2 мы перечисляем все значения переменной i, при которых необходимо выполнить цикл. При большом количестве значений удобнее использовать встроенную функцию range().
Последовательность значений, которую строит функция range() конечна. Цикл всегда закончится. 

Задача

  1. Доработайте программу так, чтобы она выводила на экран слово Hello 10 раз в столбик.
  2. Запустите программу и убедитесь, что она выводит на экран слово Hello 10 раз.