Цикл for

Модуль 1: Python Core
3 уровень , 7 лекция
Открыта

8.1 Цикл for

То, что можно выполнять группу команд по заданному условию — это отлично. А что, если я хочу выполнить какое-то действие 100 раз? Как это сделать?

Для этого в языке Python есть циклы. И для нашей задачи идеально подходит цикл for. Общий вид оператора for таков:

for переменная in список_значений:
    команда1
    команда1
    командаN

Где список_значений — это некий набор значений: список, строка, словарь (о них позднее).

Переменная последовательно принимает значения из список_значений, и для каждого из них выполняется блок команд.

Пример:

Пример Пояснение

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
1. Переменной fruit присваивается значение "apple" и выполняется команда print(fruit ) 2. Переменной fruit присваивается значение "banana" и выполняется команда print(fruit ) 3. Переменной fruit присваивается значение "cherry" и выполняется команда print(fruit )

Вот как работает цикл:

Если в списке после слова in будет 10 значений, значит блок команд выполнится 10 раз.

Для каждого значения из списка_значений происходит две вещи:

  1. Переменной цикла (которая указана после слова for) присваивается очередное значение из списка_значений.
  2. Затем выполняется блок команд.

Еще пример:

Пример Пояснение

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for x in numbers:
    print(x)
Цикл выведет на экран числа:
1
2
3
4
5
6
7
8
9
10

8.2 Задание диапазона — range

В последнем примере вы могли видеть, что вывести на экран 10 чисел очень просто. Но что, если мы хотим выполнить цикл 100 раз? Или 1000?

Разумеется для этого есть решение. В языке Python есть специальная функция range() для генерации последовательности чисел, что в комбинации с циклом for делает их мощным инструментом для управления повторяющимися задачами.

Функция range() может быть использована несколькими способами, в зависимости от количества аргументов, передаваемых в неё.

Основы применения range():

Один аргумент: range(n) генерирует последовательность от 0 до n-1. Это полезно, когда нужно выполнить действие определённое количество раз.


for i in range(5):
    print(i)  # Выведет числа от 0 до 4

Два аргумента: range(start, stop) генерирует последовательность от start до stop-1. Это полезно для начала итерации с определённого числа.


for i in range(1, 6):
    print(i)  # Выведет числа от 1 до 5 

Три аргумента: range(start, stop, step) добавляет третий аргумент step, который определяет шаг между числами в последовательности.


for i in range(0, 10, 2):
    print(i)  # Выведет четные числа от 0 до 8  

Обратные циклы: range() может генерировать числа в обратном порядке, что позволяет выполнять обратные итерации.


for i in range(10, 0, -1):
    print(i)  # Выведет числа от 10 до 1 

Функция range() в сочетании с циклом for предоставляет гибкий инструмент для контроля итераций в Python. Понимание её возможностей помогает создавать более эффективные и понятные циклы, которые являются неотъемлемой частью любой программы.

8.3 Цикл по списку

Если вы хотите выполнить группу действий над разными значениями, функция range() вам не подходит, вы всегда можете объединить эти значения в список с помощью квадратных скобок. Общий вид этой операции выглядит так:


for переменная in [val1, val2, …, valN]:
    команда1
    команда1
    командаN

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

Пример Пояснение

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
                    
Цикл выведет на экран строки:
apple
banana
cherry

Вы можете указать в списке числа, причем прямо в цикле после слова in:

Пример Пояснение

for price in [0.99, 2.75, 0.25]:
    print(price)
Цикл выведет на экран числа:
0.99
2.75
0.25

В списке вообще можно перечислить объекты любого типа:

Пример Пояснение

for data in [0.99, "apple", -1, True]:
    print(data)
                
Цикл выведет на экран строки:
0.99
apple
-1
True
2
Задача
Модуль 1: Python Core, 3 уровень, 7 лекция
Недоступна
Циклотрон
Циклотрон
2
Задача
Модуль 1: Python Core, 3 уровень, 7 лекция
Недоступна
Хитрый раджа
Хитрый раджа
Комментарии (41)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Андрей Уровень 5
16 июля 2026
Почему не принимает такое решение? for i in range(1,65): print("Клетка " + str(i)+":" + " " + (str)(2** (i - 1)) + " зерна")
Mike O Уровень 4
4 июля 2026
Задачу с хитрым раджей решить очень просто, достаточно самой переменной цикла для решения 😁

for number in range(0, 64):
    print(f"Клетка {number + 1}: {2 ** number} зерна")

Олег Сычев Уровень 9
9 мая 2026
Задачки крутые, но с форматированием, конечно, запарился))) Спасибо!)
Vlad Уровень 7
14 марта 2026
Какая принципиальная разница между for i in range(64): print(f'Клетка {i + 1}: {2 ** i} зерна') и for i in range(64): y = 2**i print(f'Клетка {i + 1}: {y} зерна')? Оба выводят одно и то же, но первый вариант не принимается по выводу
Димон Уровень 4
6 мая 2026
принциаиальной может и никакой...
DIAGEN Уровень 5
20 февраля 2026
y = 0 #количество зёрен for x in range(0,64): #для клеток в рамках шахматной доски запускаем цикл y = 2 ** x #вычисляем для каждой клетки количества зерна согласно заданной формуле print(f"Клетка " + str(x+1) + ": " + str(y) + " зерна") #выводим результат с количеством зерна на каждой клетке с изначальным смещение с "нулевой" клетки на первую
1 февраля 2026
В принципе решил, задачка не сложная с раджой но вывод print это просто вынес мозга. Подсказа вы сначала 2 переменные делаете зерно = 0 и клетка = 0, потом цикл, ниже в самом цикле возведение в степень и принт там же. В принте к клетке + 1 делаете, я так и не понял нахрен оно нужно, но без этого не работает код
Александр Уровень 25
6 февраля 2026
Потому что цикл начинаешь с нуля. А нулевой клетки нет. Поэтому в print к переменной добавляешь 1 чтоб в консоль выводилось с первой клетки. И затем каждый цикл будет к переменной добавляться эта единица.
Анатолий Уровень 63
21 января 2026
Возможности f-строк порадовали. Помню как на С пробелы втыкали везде.
Павел Уровень 18
13 января 2026
Хороший пример со списком, обычно в этой теме для новичков только функцией "рейндж" ограничиваются 🙂
26 октября 2025
Вообще не понятно. Решение показывает с f-строками, которые мы не походили. Хотя само мое решение было верым (без f-строк).
AsaKe Уровень 4
31 июля 2025
Приветствую. Напомните пожалуйста на какой лекции проходили F строки?
Vlad Уровень 1
23 августа 2025
Скорее всего поздно, но, пока что - не проходили, Ф строки:"4 уровень, 4 лекция"
Анна#3482872 Уровень 6
26 марта 2026
не проходили, но они и не нужны, с преобразованием переменных задачка засчитывается