Представьте, что вам надо поздороваться с каждым гостем на вечеринке. Вы не пишете отдельную фразу для каждого — вы повторяете одно действие «поздоровайся» для каждого человека по очереди. ЦиклКонструкция, повторяющая блок кода: for перебирает элементы, while — пока условие истинно. делает то же самое: повторяет блок кода много раз, избавляя от копирования print() сотню раз вручную.
Цикл for проходит по последовательности элементов — по списку, по строкеТекстовое значение в кавычках: "привет". Неизменяема. По-английски string (str)., по диапазону чисел — и выполняет тело для каждого.
▶ for.py
Разберём по словам:
for — «для каждого».
fruit — переменнаяИменованное хранилище для значения. Имя связывается со значением через присваивание: x = 5. цикла; имя придумали мы. На каждом проходе она получает следующий элемент.
in [...] — указывает, по чему идём.
Тело с отступом выполняется заново на каждом элементе: сначала fruit = "яблоко", потом "груша", потом "слива".
Функция range()
Когда нужно повторить что-то ровно n раз, удобна функцияИменованный блок кода, который можно вызывать многократно. Может принимать аргументы и возвращать результат.range(n) — она создаёт последовательность чисел от 0 до n−1.
▶ range.py
📝Заметка
range(5) даёт числа 0, 1, 2, 3, 4 — пять чисел, но последнее на единицу меньше пяти. Правый конец не включается. Поначалу это сбивает с толку, но к этому быстро привыкаешь — просто запомните: «range доходит до стоп, но не берёт его».
💡Совет
Предскажите вывод. Сколько чисел напечатает for i in range(1, 4) и какие именно? Запустите и проверьте: правый конец 4 не входит.
▶ predict-range.py
Напечатается 1 2 3 — три числа, четвёрка не включается. Это та же логика «до, но не включая».
⚠️ Частые ошибки новичков
Ошибка. Забыть двоеточие после for ... или отступ в теле. Запустите код ниже — увидите IndentationError (тело без отступа). Почините: поставьте 4 пробела перед print.
▶ broken-for.py
Заданиерешение.py
Используя цикл и range, посчитайте сумму всех чисел от 1 до 100 включительно. Сохраните результат в переменную total.
Заданиерешение.py
Дан список words = ["кот", "слон", "я", "питон"]. Посчитайте, сколько слов в нём длиннее 2 букв, и сохраните число в long_count.
Заданиелёгкаярешение.py
Посчитайте факториал числа 5 (это 1·2·3·4·5) с помощью цикла for. Сохраните результат в переменную factorial.
❓Проверь себя
Какие числа даёт range(3)?
Что выполнит range(2, 10, 2)?
ℹ️Важно
✅ Что вы узнали
for повторяет тело для каждого элемента последовательности.
Переменная цикла на каждом шаге получает следующий элемент.
range(n) — числа от 0 до n−1; правый конец не включается.
Есть формы range(старт, стоп) и range(старт, стоп, шаг).
Накопление суммы: завести total = 0 и прибавлять в цикле.
Комментарии
Загрузка…
Загрузка комментариев…