Представим ситуацию, когда нам необходимо вывести на экран слово "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 - это счетчик выполненных итераций (шагов) цикла. В данном случае цикл выполняется для 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() конечна. Цикл всегда закончится.