Циклы

Компьютеры созданы, чтобы повторять. Один датчик выдаёт не одно значение, а поток измерений — такт за тактом. Обрабатывать их руками глупо: для повторения есть циклы. Сегодня разберём for и while, научимся накапливать сумму и считать. В конце обработаем серию измерений.

Поток измерений датчика по тактам и цикл, который их перебирает и суммирует

После урока сможешь: Учим программу повторять действия: цикл for с range, цикл while, накопление суммы и счётчик, break и continue. В конце обрабатываешь серию измерений — считаешь сумму и среднее.

Цикл for: повторить N раз

Цикл for вместе с range повторяет тело нужное число раз. range(5) даёт числа от 0 до 4 (пять штук, начиная с нуля). Тело цикла — со сдвигом вправо (отступ), как у if.

for takt in range(5):
    print("Такт", takt)
Такт 0
Такт 1
Такт 2
Такт 3
Такт 4
  for takt in range(5):     — повторить 5 раз
      print(takt)

  takt по очереди:  0  1  2  3  4
  range(5) даёт 5 чисел, начиная с 0 (пятёрку НЕ включает)

range(5) это 0,1,2,3,4 — пять чисел, но последнее 4, не 5. А range(1, 5) даёт 1,2,3,4 (с 1 до 5, пятёрку не включая).

Накопитель: сумма и счётчик

Часто в цикле что-то накапливают — сумму измерений, количество. Заводят переменную ДО цикла, а внутри увеличивают её. Запись summa = summa + x значит «возьми старое значение и прибавь x».

summa = 0
for takt in range(4):
    summa = summa + 10
print("Сумма:", summa)
Сумма: 40
  Накопление суммы по тактам:

  summa = 0
  такт 0:  summa = 0  + 10  ->  10
  такт 1:  summa = 10 + 10  ->  20
  такт 2:  summa = 20 + 10  ->  30
  такт 3:  summa = 30 + 10  ->  40

  Итог:  summa = 40

Цикл while: пока условие верно

Когда заранее не знаешь, сколько раз повторять (например, пока давление не упадёт), берут while: он повторяет тело, ПОКА условие верно, и проверяет его перед каждым кругом.

x = 0
while x < 3:
    print("шаг", x)
    x = x + 1
print("Стоп")
шаг 0
шаг 1
шаг 2
Стоп
  while условие:  — повторять, ПОКА условие верно

    [проверить условие]
         | верно              | неверно
         v                    v
    выполнить тело        выйти из цикла
         |
         +---> снова к проверке

Внутри while что-то должно менять условие (например, x = x + 1), иначе оно всегда верно и цикл никогда не остановится — это «бесконечный цикл». Команда break досрочно прерывает цикл, continue пропускает один круг.

Миссия: обработка серии измерений

Скопируй программу в песочницу и запусти. Она спросит, сколько было тактов, и за каждый такт попросит измерение, а в конце выдаст сумму и среднее. Это базовый приём обработки данных датчика — дальше мы заменим ручной ввод на готовый список.

# Обработка серии измерений
n = int(input("Сколько измерений? "))
summa = 0
for takt in range(n):
    izmerenie = int(input("Измерение: "))
    summa = summa + izmerenie

print("Сумма:", summa)
print("Среднее:", round(summa / n, 2))
Сколько измерений? 3
Измерение: 10
Измерение: 20
Измерение: 30
Сумма: 60
Среднее: 20.0

Контрольный вопрос. Что делает цикл for takt in range(3)?

АПовторяет тело 3 раза, takt принимает значения 0, 1, 2
БПовторяет тело 3 раза, takt принимает значения 1, 2, 3
ВВыполняет тело один раз со значением 3

Подсказка: range(3) даёт числа, начиная с 0: 0, 1, 2 — всего три.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Сколько раз выполнится тело цикла for i in range(7)? Впиши число.

Исходный код для этого задания:

for i in range(7):
    print("измерение")

Подсказка: range(7) даёт 7 чисел (от 0 до 6) — столько раз и повторится тело.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Какое САМОЕ БОЛЬШОЕ значение примет i в цикле for i in range(5)? Впиши число.

Исходный код для этого задания:

for i in range(5):
    print(i)

Подсказка: range(5) это 0, 1, 2, 3, 4. Пятёрка не включается.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Что выведет программа из этого задания? Впиши число.

Исходный код для этого задания:

summa = 0
for takt in range(4):
    summa = summa + 10
print(summa)

Подсказка: summa стартует с 0 и увеличивается на 10 за каждый из 4 кругов цикла.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Что выведет программа из этого задания? Впиши число.

Исходный код для этого задания:

x = 0
while x < 3:
    x = x + 1
print(x)

Подсказка: Цикл крутится, пока x меньше 3, и каждый раз увеличивает x на 1. На каком x он остановится?

Онлайн-проверка ответа появится позже

Контрольный вопрос. Что означает заголовок цикла while davlenie > 0:?

АПовторять тело, ПОКА davlenie больше 0
БВыполнить тело ровно davlenie раз
ВСравнить davlenie и 0 один раз и закончить

Подсказка: while по-английски «пока». Цикл повторяется, пока условие верно.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Что делает команда break внутри цикла?

АДосрочно прерывает цикл и выходит из него
БПропускает один круг и идёт дальше
ВПерезапускает цикл с начала

Подсказка: break по-английски «прервать». Она немедленно завершает цикл.

Онлайн-проверка ответа появится позже

Задание. Напиши код сам. Напиши строку-заголовок цикла for, который повторит тело 10 раз, используя переменную i и range. (Только строку с for и двоеточием.)

Исходный код для этого задания:

# напиши ниже строку-заголовок цикла, который повторит тело 10 раз
    print("такт")

Подсказка: Шаблон: for i in range(сколько раз):. Не забудь двоеточие в конце.

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

Онлайн-проверка ответа появится позже

Задание. Напиши код сам. Внутри цикла нужно вывести номер текущего такта (переменная takt). Напиши эту команду print.

Исходный код для этого задания:

for takt in range(5):
    # напиши тут команду, которая выведет значение takt

Подсказка: Просто выведи переменную takt. Шаблон: print(takt).

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

Онлайн-проверка ответа появится позже

Задание. Напиши код сам. Внутри цикла нужно прибавить к накопителю summa значение очередного измерения izmerenie. Напиши эту строку.

Исходный код для этого задания:

summa = 0
izmerenie = 10
for takt in range(4):
    # напиши тут строку: прибавь izmerenie к summa

Подсказка: Возьми старое значение summa и прибавь izmerenie. Шаблон: summa = summa + izmerenie.

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Что выведет программа из этого задания? Впиши число.

Исходный код для этого задания:

summa = 0
for chislo in range(1, 5):
    summa = summa + chislo
print(summa)

Подсказка: range(1, 5) это 1, 2, 3, 4. Складываем их по очереди: 1+2+3+4.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Программа из этого задания зависает и печатает «такт» без конца. Почему?

Исходный код для этого задания:

x = 0
while x < 5:
    print("такт")
АВнутри while ничего не меняет x — условие всегда верно, цикл бесконечный
Бrange слишком большой
ВНе хватает команды import

Подсказка: Чтобы while однажды остановился, что-то в теле должно приближать условие к неверному (например, менять x).

Онлайн-проверка ответа появится позже

Задание. Напиши программу целиком (7-8 строк). Спроси, сколько будет измерений (n). Заведи накопитель summa = 0. В цикле n раз спрашивай очередное измерение, превращай в число и прибавляй к summa. После цикла выведи сумму и среднее, округлённое до 2 знаков. Используй имена n, summa, x.

Исходный код для этого задания:

# напиши программу:
# n = int(input(...))
# summa = 0
# for i in range(n): спросить x, прибавить к summa
# после цикла: print суммы и print среднего round(summa / n, 2)

Подсказка: n = int(input(«Сколько? «)); summa = 0; for i in range(n): x = int(input(«Измерение: «)); summa = summa + x; затем print(summa) и print(round(summa / n, 2)).

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

Онлайн-проверка ответа появится позже

Что дальше

Теперь ты умеешь повторять действия циклами for и while, накапливать сумму и вести счёт. Но пока измерения мы задавали по одному. На следующем занятии научимся хранить целую серию измерений в списке и обрабатывать её.

Итог: Теперь ты умеешь повторять действия циклами for и while, накапливать сумму и вести счёт. Но пока измерения мы задавали по одному. На следующем занятии научимся хранить целую серию измерений в списке и обрабатывать её.

Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева