Scroll to Top

← Назад

🔄 Цикл for и функция range()

Циклы позволяют выполнять один и тот же код много раз. В Python самый популярный цикл - это for.

🏃 1. Как работает цикл for?

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

🔹 Синтаксис:

for переменная in последовательность:
    действие  # Обязательный отступ!

🔹 Пример со строкой:

for letter in "Python":
    print(letter)

Что происходит? Переменная letter по очереди принимает значения: 'P', 'y', 't', 'h', 'o', 'n'.

Вывод:

P
y
t
h
o
n

🔹 Пример со списком:

fruits = ["яблоко", "банан", "груша"]

for fruit in fruits:
    print(fruit)

Вывод:

яблоко
банан
груша

🔢 2. Функция range()

Чаще всего нам нужно просто повторить действие N раз или получить числа от 0 до 10. Для этого используется функция range().

🔹 1) Один аргумент - range(stop)

Генерирует числа от 0 до stop - 1.

for i in range(3):
    print(f"Повторение номер {i}")

Вывод:

Повторение номер 0
Повторение номер 1
Повторение номер 2

⚠️Обратите внимание: счет начинается с нуля, а число 3 не включается!


🔹 2) Два аргумента - range(start, stop)

Генерирует числа от start до stop - 1.

for k in range(5, 8):
    print(k)

Вывод:

5
6
7

🔹 3) Три аргумента - range(start, stop, step)

Генерирует числа с определенным шагом (step).

# Четные числа от 2 до 10 c шагом +2
for n in range(2, 11, 2):
    print(n)

Вывод:

2
4
6
8
10

📉 Обратный отсчет

Чтобы идти назад, шаг должен быть отрицательным:

for i in range(5, 0, -1):
    print(i)
print("Пуск! 🚀")

📝 Пример работы range()

Команда Диапазон чисел Пример значений
range(5) от 0 до 4 0, 1, 2, 3, 4
range(1, 4) от 1 до 3 1, 2, 3
range(0, 10, 3) шаг +3 0, 3, 6, 9
range(5, 1, -1) от 5 до 2 5, 4, 3, 2

🛑 3. Оператор break

break мгновенно завершает цикл.

🔹 Пример: остановка на пробеле

text = "Hello World"

for char in text:
    if char == " ":
        print("Нашли пробел, останавливаемся!")
        break  # Мгновенный выход из цикла
    print(char)

Вывод:

H
e
l
l
o
Нашли пробел, останавливаемся!

⏭️ 4. Оператор continue

Если нужно пропустить текущий шаг и перейти к следующему, используем continue.

🔹 Пример: печать только нечетных чисел

for i in range(1, 6):
    if i % 2 == 0:     # Если число четное
        continue       # Пропускаем его
    print(i)

Вывод:

1
3
5

🧠 Задачка для закрепления

Посчитаем сумму чисел от 1 до 5:

total = 0

for i in range(1, 6):
    total = total + i  # или total += i

print(f"Сумма: {total}")  # 1+2+3+4+5 = 15

🧩 5. else после for

Блок else после for выполняется, если цикл завершился "нормально", то есть дошёл до конца и не был прерван командой break. Это удобно для задач “поиск элемента”: нашли - break, не нашли - сработает else.

for i in range(5):
    print(i)
else:
    print("Цикл завершён без break")

🧾 Вывод:

0
1
2
3
4
Цикл завершён без break

✅ else срабатывает, если цикл завершился полностью, без break.


❌ Пример с break:

for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("Не сработает!")

🧾 Вывод:

0
1
2

⛔ else не выполнился, потому что был break.



🎓 Задания

🧪 1) Поиск числа в списке

Дан список целых чисел:

numbers = [1, 3, 4, 5, 7, 9]

Необходимо проверить, содержится ли в этом списке число 4.

  • Если число найдено - вывести сообщение Найдено!
  • Если число отсутствует - вывести сообщение Число не найдено

Пример вывода:

Найдено!

📌 Подсказка: перебор элементов списка нужно выполнять с помощью цикла.

Решение:
numbers = [1, 3, 5, 7, 9]

for n in numbers:
    if n == 4:
        print("Найдено!")
        break
else:
    print("Число не найдено") 



🧪 2) Подсчёт гласных букв

Дана строка:

text = "hello world"

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

После подсчёта выведите количество гласных букв на экран.

Пример вывода:

Гласных: 3

📌 Подсказка: строку можно перебирать посимвольно с помощью цикла.

Решение:
text = "hello world"
vowels = "aeiou"

count = 0
for letter in text:
    if letter in vowels:
        count += 1

print("Гласных:", count)



🧪 3) Поиск числа, кратного 7

Программа должна перебирать числа от 1 до 20 по порядку.

Во время работы программы необходимо:

  • выводить каждое число на экран
  • если встретилось число, кратное 7:

    • вывести сообщение Нашли 7!
    • прервать выполнение цикла
  • если цикл завершился полностью и число, кратное 7, так и не встретилось:

    • вывести сообщение Цикл завершён, 7 не нашли

Пример вывода:

1
2
3
4
5
6
Нашли 7!
Решение:
for i in range(1, 21):
    if i % 7 == 0:
        print("Нашли 7!")
        break
    print(i)
else:
    print("Цикл завершён, 7 не нашли")

Материал для учеников

Этот раздел доступен только ученикам Ника

Чтобы получить доступ, свяжитесь с преподавателем