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

Циклы позволяют выполнять один и тот же блок кода многократно. Это мощный инструмент программирования, который помогает автоматизировать повторяющиеся задачи.

Зачем нужны циклы?

Циклы позволяют избежать дублирования кода и делают программы более компактными и эффективными. Вместо того чтобы писать один и тот же код десятки раз, можно использовать цикл.

Цикл while

Цикл while выполняет блок кода до тех пор, пока условие истинно.

Синтаксис while
while условие:
    # блок кода, выполняемый пока условие истинно
    операторы
Пример использования while
счетчик = 1

while счетчик <= 5:
    print(f"Итерация номер {счетчик}")
    счетчик += 1

print("Цикл завершен")

Цикл for

Цикл for используется для перебора элементов последовательности (списка, строки, диапазона и т.д.).

Синтаксис for
for переменная in последовательность:
    # блок кода, выполняемый для каждого элемента
    операторы
Примеры использования for
# Перебор элементов списка
фрукты = ["яблоко", "банан", "апельсин"]
for фрукт in фрукты:
    print(f"Я люблю {фрукт}")

# Перебор символов строки
слово = "Python"
for буква in слово:
    print(буква)

# Использование range() для создания диапазона чисел
for i in range(5):
    print(f"Число: {i}")

Функция range()

Функция range() создает последовательность чисел, которую часто используют в циклах for.

Варианты использования range()
# range(stop) - от 0 до stop-1
for i in range(5):
    print(i)  # 0, 1, 2, 3, 4

# range(start, stop) - от start до stop-1
for i in range(2, 7):
    print(i)  # 2, 3, 4, 5, 6

# range(start, stop, step) - с шагом step
for i in range(0, 10, 2):
    print(i)  # 0, 2, 4, 6, 8

# Обратный порядок
for i in range(5, 0, -1):
    print(i)  # 5, 4, 3, 2, 1

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

Циклы можно вкладывать друг в друга для создания более сложных структур.

Пример вложенных циклов
# Вывод таблицы умножения
for i in range(1, 4):
    for j in range(1, 4):
        print(f"{i} * {j} = {i * j}")
    print("---")

Использование else с циклами

В Python можно использовать блок else с циклами. Он выполняется, если цикл завершился естественным образом (не через break).

Пример else с циклами
# else с for
for i in range(3):
    print(i)
else:
    print("Цикл завершен")

# else с while
счетчик = 0
while счетчик < 3:
    print(счетчик)
    счетчик += 1
else:
    print("Цикл завершен")

Функции enumerate() и zip()

Полезные функции для работы с циклами:

enumerate() и zip()
# enumerate() - получение индекса и значения
фрукты = ["яблоко", "банан", "апельсин"]
for индекс, фрукт in enumerate(фрукты):
    print(f"{индекс}: {фрукт}")

# zip() - одновременная итерация по нескольким последовательностям
имена = ["Анна", "Петр", "Мария"]
возраста = [25, 30, 28]
for имя, возраст in zip(имена, возраста):
    print(f"{имя} - {возраст} лет")

Практические задания

Задания
  1. Напишите программу, которая выводит все четные числа от 1 до 20.
  2. Создайте программу, которая вычисляет факториал введенного числа.
  3. Напишите программу, которая находит сумму всех чисел от 1 до 100.
  4. Создайте программу, которая выводит таблицу умножения для числа 7.
Решения:

Задание 1:

for число in range(2, 21, 2):
    print(число)

# Альтернативное решение:
# for число in range(1, 21):
#     if число % 2 == 0:
#         print(число)

Задание 2:

число = int(input("Введите число: "))
факториал = 1

for i in range(1, число + 1):
    факториал *= i

print(f"Факториал {число} = {факториал}")

Задание 3:

сумма = 0
for число in range(1, 101):
    сумма += число

print(f"Сумма чисел от 1 до 100 = {сумма}")

Задание 4:

число = 7
for i in range(1, 11):
    print(f"{число} * {i} = {число * i}")
Предыдущий урок Следующий урок