Урок 4: Циклы

while, for, break, continue — повторение кода без копирования

60 минут
7 заданий
Урок 4 из 10

1 Что такое циклы?

Циклы — это способ повторить один и тот же код несколько раз без копирования. Представь, что тебе нужно вывести числа от 1 до 10. Без цикла придётся писать 10 строк с print(), а с циклом — всего несколько строк!

Пример из жизни

Представь, что ты моешь 10 тарелок. Ты не думаешь: "Возьму первую тарелку, помою, поставлю. Возьму вторую тарелку, помою, поставлю..." Ты просто повторяешь одно и то же действие 10 раз. Циклы работают по такому же принципу!

loops.py
# Без цикла — 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 пропущено)

Сравнение операторов

break

Полностью останавливает цикл

for i in range(5):
    if i == 3:
        break
    print(i)
# Вывод: 0, 1, 2
continue

Пропускает текущую итерацию и переходит к следующей

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 Практика

Отлично! Теперь давай закрепим знания на практике. Реши несколько заданий:

Задание 1 Легко

Счётчик с while

Используй цикл while, чтобы вывести числа от 1 до 5.

Подсказка

Создай переменную-счётчик, начни с 1 и увеличивай её на 1 в каждой итерации.

Задание 2 Легко

Цикл for с range()

Используй цикл for и функцию range(), чтобы вывести числа от 1 до 10.

Подсказка

Используй range(1, 11) для получения чисел от 1 до 10.

Задание 3 Средне

Перебор списка

Создай список с 3 фруктами и используй цикл for, чтобы вывести каждый фрукт.

Подсказка

Создай список fruits = ["яблоко", "банан", "апельсин"] и перебери его циклом.

Задание 4 Средне

Оператор break

Используй цикл for и оператор break, чтобы вывести числа от 1 до 10, но остановиться на 5.

Подсказка

Используй условие if i == 5: break внутри цикла.

Задание 5 Средне

Оператор continue

Используй цикл for и оператор continue, чтобы вывести числа от 1 до 10, пропустив число 5.

Подсказка

Используй условие if i == 5: continue внутри цикла.

Задание 6 Сложно

Сумма чисел

Используй цикл for, чтобы найти сумму чисел от 1 до 100.

Подсказка

Создай переменную total = 0 и добавляй к ней каждое число в цикле.

Задание 7 Сложно

Вложенные циклы

Используй вложенные циклы for, чтобы создать таблицу умножения 5×5.

Подсказка

Используй два цикла: внешний для строк, внутренний для столбцов. Выводи i * j.