• 1
    Ввод и вывод данных
    • Задачи
  • 2
    Условия
    • Задачи
  • 3
    Цикл for
    • Задачи
  • 4
    Строки
    • Задачи
  • 5
    Цикл while
    • Задачи
  • 6
    Списки
    • Задачи
  • 7
    Двумерные массивы
    • Задачи
  • 8
    Словари
    • Задачи
  • 9
    Множества
    • Задачи
  • 10
    Функции и рекурсия
    • Задачи
  • к

Занятие 3. Цикл for

Уровень сложности:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

Задача«Поднятие мотивации»

💻 Python
Ты пришёл в спортзал первый раз. Тренер составляет программу: подбирает вес штанги и количество повторений в зависимости от твоего уровня (новичок, средний, продвинутый). Напишите программу, которая по уровню выдаёт рекомендации тренировки.

Формат ввода

Количество упражнений, которые планируется выполнить (целое число).

Формат Вывода

Фраза или фразы от тренера в зависимости от введенного числа (строка/строки).

Пример

Ввод

3

Вывод

Мотивацию нужно поднять!
Мотивацию нужно поднять!
Мотивацию нужно поднять!

Подсказка

Погружение в циклы: for и range()

Цикл for — это один из самых мощных и часто используемых инструментов в Python. Он позволяет вам повторять (или, как говорят программисты, итерировать) определенный блок кода заданное количество раз. Его главная идея — последовательно перебрать элементы из какой-либо коллекции (например, списка чисел, символов в строке и т.д.) и для каждого элемента выполнить одно и то же действие.

Основной синтаксис выглядит так:

for элемент in последовательность:
    # блок кода, который будет повторяться

Здесь последовательность может быть не только числами, но и, например, списком строк или просто строкой.

# Пример итерации по списку
for фрукт in ["яблоко", "банан", "вишня"]:
    print(фрукт)

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

Генерация последовательностей с range()

Часто нам нужно выполнить код определенное количество раз. Для этого идеально подходит функция range(), которая создает последовательность чисел. Например, range(5) создает последовательность от 0 до 4 (то есть 0, 1, 2, 3, 4).

Объединяя for и range(), мы получаем классическую конструкцию для повторений:

for i in range(число):
    # блок кода

Давайте разберем эту конструкцию:

  • for — это ключевое слово, которое говорит Python, что мы начинаем цикл.
  • i — это переменная-счетчик. На каждом шаге цикла она будет принимать следующее значение из последовательности. Полезный совет: имя переменной может быть любым (i, j, k — это общепринятые соглашения для простых счетчиков), но если вы перебираете что-то конкретное, лучше дать осмысленное имя, например for student in students:.
  • in — ключевое слово, которое связывает переменную-счетчик и последовательность.
  • range(число) — вызов функции, которая создает последовательность целых чисел от 0 до число - 1. Важно помнить, что верхняя граница не включается.
  • Блок кода (с отступом) — это те команды, которые вы хотите выполнить для каждого числа в последовательности.

Практические примеры

Вывод чисел от 0 до 4

for i in range(5):
    print(i)
# вывод: 0
# вывод: 1
# вывод: 2
# вывод: 3
# вывод: 4
  • range(5) создает невидимую для нас последовательность: 0, 1, 2, 3, 4.
  • Цикл for поочередно присваивает переменной i каждое из этих значений.
  • print(i) на каждом шаге печатает текущее значение i.

Повторное выполнение кода 5 раз

for i in range(5):
    print("Привет, мир!")
# вывод: Привет, мир!
# вывод: Привет, мир!
# вывод: Привет, мир!
# вывод: Привет, мир!
# вывод: Привет, мир!
  • range(5) снова создает последовательность 0, 1, 2, 3, 4.
  • Цикл for проходит по каждому из этих чисел, но в данном случае мы не используем значение переменной i внутри цикла. Мы просто используем цикл как счетчик, чтобы выполнить print("Привет, мир!") ровно 5 раз.

Суммирование чисел от 0 до 4

сумма = 0  # 1. Создаем "копилку" для суммы
for i in range(5):
    # 2. На каждом шаге добавляем в копилку текущее число
    сумма += i 
print(сумма) # 3. Показываем, что накопилось в итоге
# вывод: 10
  • сумма = 0 — инициализируем переменную сумма. Это критически важный шаг.
  • range(5) создает последовательность 0, 1, 2, 3, 4.
  • Цикл for проходит по каждому числу. На первом шаге сумма становится 0 + 0 = 0. На втором — 0 + 1 = 1. На третьем — 1 + 2 = 3. На четвертом — 3 + 3 = 6. На пятом — 6 + 4 = 10.
  • сумма += i — это сокращенная и более "пайтоничная" запись для сумма = сумма + i. Она увеличивает значение сумма на текущее значение i.
  • print(сумма) выводит итоговую сумму после того, как цикл полностью завершился.

Гибкость range(): параметры start, stop, step

Функция range() может принимать до трех параметров: start (начало), stop (конец) и step (шаг).

  • range(stop): создает последовательность от 0 до stop - 1.
  • range(start, stop): создает последовательность от start до stop - 1.
  • range(start, stop, step): создает последовательность от start до stop - 1 с шагом step.

Полезный совет: Шаг может быть отрицательным. Это позволяет генерировать последовательности в обратном порядке. В этом случае значение start должно быть больше stop.

  • range(5) -> 0, 1, 2, 3, 4
  • range(2, 6) -> 2, 3, 4, 5
  • range(1, 10, 2) -> 1, 3, 5, 7, 9
  • range(5, 0, -1) -> 5, 4, 3, 2, 1

Что такое инкремент и декремент?

Инкремент — это просто увеличение значения переменной, как правило, на 1. Декремент — это уменьшение значения переменной, как правило, на 1.

В некоторых языках программирования есть специальные операторы ++ и --, но в Python их нет. Вместо этого используются более явные и гибкие операторы присваивания с операцией.

Инкремент в Python: оператор +=

Мы можем легко увеличить значение переменной, используя +=.

число = 5
# Увеличиваем значение переменной на 1
число += 1 
print(число) # выведет 6
  • число = 5 устанавливает начальное значение.
  • число += 1 — это элегантная сокращенная запись для число = число + 1. Она говорит: "возьми текущее значение число, прибавь к нему 1 и запиши результат обратно в число".

Декремент в Python: оператор -=

Аналогично инкременту, для декремента используется оператор -=.

число = 5
# Уменьшаем значение переменной на 1
число -= 1
print(число) # выведет 4
  • число = 5 устанавливает начальное значение.
  • число -= 1 — это сокращение для число = число - 1.

Другие полезные операторы

Этот принцип работает со всеми основными математическими операциями в Python. Вместо числа справа может быть и другая переменная (a += b).

a = 10
a += 5  # Эквивалентно a = a + 5   (a станет 15)
a -= 3  # Эквивалентно a = a - 3   (a станет 12)
a *= 2  # Эквивалентно a = a * 2   (a станет 24)
a /= 4  # Эквивалентно a = a / 4   (a станет 6.0)
a %= 5  # Эквивалентно a = a % 5   (a станет 1.0, остаток от деления 6 на 5)
a //= 3 # Эквивалентно a = a // 3  (a станет 0.0, целочисленное деление 1 на 3)

Ключевые идеи и полезные советы

  • Цикл for создан для перебора элементов в любой последовательности (списки, строки, range и т.д.).
  • Функция range() — ваш главный инструмент для создания последовательностей чисел для циклов. Помните, что она не включает верхнюю границу!
  • Инкремент (+=) и декремент (-=) — это стандартный и предпочтительный способ изменения числовых переменных в Python.
  • Осмысленные имена. Давайте переменным цикла понятные имена (for book in books:), это делает код гораздо более читаемым.
  • Практика — ключ к успеху! Попробуйте написать циклы для решения разных задач: найти сумму четных чисел, вывести таблицу умножения, напечатать лесенку из символов.
main.py
Тест 1
Тест 2
Тест 3
Тест 4
Тест 5
Тест 6
Тест 7
Тест 8
Тест 9
Тест 10
Решение разработчика
# Запрашиваем у пользователя количество упражнений и сохраняем в виде строки
exercise_count_str = input()

# Преобразуем полученную строку в целое число для дальнейших вычислений
exercise_count = int(exercise_count_str)

# Проверяем, является ли введенное число отрицательным
if exercise_count < 0:
    # Если условие истинно, выводим сообщение об ошибке
    print("Количество упражнений не может быть отрицательным!")
# Если число не отрицательное, проверяем, равно ли оно нулю
elif exercise_count == 0:
    # Если условие истинно, выводим фразу для дня отдыха
    print("Сегодня день отдыха? Отлично!")
# Если число не отрицательное и не ноль (т.е. положительное)
else:
    # Запускаем цикл, который повторится exercise_count раз
    for i in range(exercise_count):
        # На каждом шаге цикла выводим мотивирующую фразу
        print("Мотивацию нужно поднять!")

🎉 Поздравляем! 🎉

Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.

AD

Реклама

red-snake blue-snake green-snake

Запускаем ваш код...

Помощник ИИ

Привет! Я твой помощник по программированию. Задавай любые вопросы по Python, я могу рассказать о функциях, методах, объяснить то, что тебе не понятно, а также о текущей задаче!