1 Что такое циклы?
Циклы — это способ повторить один и тот же код несколько раз без копирования.
Представь, что тебе нужно вывести числа от 1 до 10. Без цикла придётся писать 10 строк с print(),
а с циклом — всего несколько строк!
Пример из жизни
Представь, что ты моешь 10 тарелок. Ты не думаешь: "Возьму первую тарелку, помою, поставлю. Возьму вторую тарелку, помою, поставлю..." Ты просто повторяешь одно и то же действие 10 раз. Циклы работают по такому же принципу!
# Без цикла — 10 строк кода
print(1)
print(2)
print(3)
print(4)
print(5)
print(6)
print(7)
print(8)
print(9)
print(10)
# С циклом — всего 2 строки!
for i in range(1, 11):
print(i)
Разбор программы
Цикл автоматически повторяет код внутри себя нужное количество раз. Это экономит время и делает код чище и понятнее.
2 Цикл while
Цикл while повторяет код, пока условие истинно.
Как только условие становится ложным, цикл останавливается.
# Счётчик от 1 до 5
count = 1
while count <= 5:
print("Счётчик:", count)
count = count + 1 # Не забудь увеличить счётчик!
# Вывод:
# Счётчик: 1
# Счётчик: 2
# Счётчик: 3
# Счётчик: 4
# Счётчик: 5
Как это работает?
1. Проверяется условие count <= 5
2. Если True — выполняется код внутри цикла
3. Увеличивается счётчик count = count + 1
4. Возвращаемся к шагу 1
5. Если условие False — цикл завершается
Внимание!
Если забыть увеличить счётчик, цикл будет работать бесконечно! Это называется "бесконечный цикл" и может зависить программа.
3 Цикл for
Цикл for используется для перебора элементов в последовательности (списки, строки, диапазоны).
Он более удобен, когда известно количество повторений.
# Перебор списка
colors = ["красный", "синий", "зелёный"]
for color in colors:
print("Цвет:", color)
# Вывод:
# Цвет: красный
# Цвет: синий
# Цвет: зелёный
# Перебор строки (по символам)
word = "Python"
for letter in word:
print(letter)
# Вывод:
# P
# y
# t
# h
# o
# n
Совет
В цикле for переменная (например color или letter)
автоматически принимает значение каждого элемента последовательности по очереди.
4 Функция range()
Функция range() создаёт последовательность чисел. Она часто используется с циклом for.
range(5)
Числа от 0 до 4 (5 не включается)
0, 1, 2, 3, 4
range(2, 7)
Числа от 2 до 6
2, 3, 4, 5, 6
range(1, 10, 2)
Числа от 1 до 9 с шагом 2
1, 3, 5, 7, 9
# Примеры использования range()
# От 0 до 4
for i in range(5):
print(i) # 0, 1, 2, 3, 4
# От 1 до 10
for i in range(1, 11):
print(i) # 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
# С шагом 3
for i in range(0, 15, 3):
print(i) # 0, 3, 6, 9, 12
5 Операторы break и continue
Иногда нужно прервать цикл раньше времени или пропустить текущую итерацию.
Для этого используются операторы break и continue.
# Оператор break — прерывает цикл
for i in range(1, 11):
if i == 5:
break # Прерываем цикл, когда i = 5
print(i)
# Вывод: 1, 2, 3, 4 (5 не выведется)
# Оператор continue — пропускает текущую итерацию
for i in range(1, 6):
if i == 3:
continue # Пропускаем 3
print(i)
# Вывод: 1, 2, 4, 5 (3 пропущено)
Сравнение операторов
Полностью останавливает цикл
for i in range(5):
if i == 3:
break
print(i)
# Вывод: 0, 1, 2
Пропускает текущую итерацию и переходит к следующей
for i in range(5):
if i == 3:
continue
print(i)
# Вывод: 0, 1, 2, 4
6 Вложенные циклы
Цикл внутри другого цикла называется вложенным. Это полезно для работы с таблицами, матрицами или создания сложных паттернов.
# Таблица умножения 3x3
for i in range(1, 4): # Внешний цикл
for j in range(1, 4): # Внутренний цикл
print(f"{i} * {j} = {i * j}")
print("---") # Разделитель после каждой строки
# Вывод:
# 1 * 1 = 1
# 1 * 2 = 2
# 1 * 3 = 3
# ---
# 2 * 1 = 2
# 2 * 2 = 4
# 2 * 3 = 6
# ---
# 3 * 1 = 3
# 3 * 2 = 6
# 3 * 3 = 9
# ---
Как это работает?
Внешний цикл выполняется один раз, а внутренний — полностью для каждой итерации внешнего. Если внешний цикл 3 раза, а внутренний 3 раза, то код внутри внутреннего выполнится 3 × 3 = 9 раз.
7 Практика
Отлично! Теперь давай закрепим знания на практике. Реши несколько заданий:
Счётчик с while
Используй цикл while, чтобы вывести числа от 1 до 5.
Подсказка
Создай переменную-счётчик, начни с 1 и увеличивай её на 1 в каждой итерации.
Цикл for с range()
Используй цикл for и функцию range(), чтобы вывести числа от 1 до 10.
Подсказка
Используй range(1, 11) для получения чисел от 1 до 10.
Перебор списка
Создай список с 3 фруктами и используй цикл for, чтобы вывести каждый фрукт.
Подсказка
Создай список fruits = ["яблоко", "банан", "апельсин"] и перебери его циклом.
Оператор break
Используй цикл for и оператор break, чтобы вывести числа от 1 до 10, но остановиться на 5.
Подсказка
Используй условие if i == 5: break внутри цикла.
Оператор continue
Используй цикл for и оператор continue, чтобы вывести числа от 1 до 10, пропустив число 5.
Подсказка
Используй условие if i == 5: continue внутри цикла.
Сумма чисел
Используй цикл for, чтобы найти сумму чисел от 1 до 100.
Подсказка
Создай переменную total = 0 и добавляй к ней каждое число в цикле.
Вложенные циклы
Используй вложенные циклы for, чтобы создать таблицу умножения 5×5.
Подсказка
Используй два цикла: внешний для строк, внутренний для столбцов. Выводи i * j.