Информатика · 8 класс

Ветвления, циклы и строки: практикум Python для 8 класса

Составь условие, выбери цикл и проверь, как программа обрабатывает данные. После коротких заданий напиши четыре программы на Python 3, запусти граничные тесты и объясни найденные ошибки.

Потренируйся самостоятельно

Выбери отдельную тему или смешанный набор. После ответа появится объяснение.

Без регистрации · ответы можно записывать в тетради

Выбери вариант; количество букв запиши цифрой или словом. Код практикума создавай и запускай в отдельной среде Python 3. Сохраняй отступы и используй обычные знаки кода.

Для преподавателя: выдать или распечатать набор

Выберите набор выше. По ссылке ученик решит его без кабинета, результаты появятся в ваших «Материалах».

Посмотрите, как организованы домашние задания. Разобрать ошибки на занятии можно на онлайн-доске.

Нужен вход преподавателя. Если вы уже сохраняли этот набор, откроется прежняя ссылка.

Условие, повторение и обработка строки

Ветвление и отступы

if выбирает действия при истинном условии, else — при ложном. После заголовка нужен знак :, команды тела имеют одинаковый отступ. Для равенства используется ==, для присваивания — =. Связка and требует истинности обеих частей, or — хотя бы одной, not меняет истинность на противоположную. В цепочке if/elif/else выбирается одна ветвь; отдельные if проверяются последовательно.

Цикл с параметром

for последовательно перебирает элементы. В записи range(start, stop, step) правая граница stop не включается; без шага используется 1, без начала — 0. Например, range(2, 7, 2) задаёт значения 2, 4 и 6. Начальное значение накопителя задают до цикла, изменяют внутри, а итог обычно выводят после.

Цикл с условием

while проверяет условие перед каждым повторением. Если оно сразу ложно, тело не выполнится. Нужно предусмотреть изменение данных, которое приведёт к завершению. Для отладки временно выводи изменяемые значения; сравни их с ручным расчётом. Если программа неожиданно не заканчивается, останови её штатной командой своей среды и проверь условие и обновление переменных.

Строка и счётчик

input() читает строку; пробелы внутри неё тоже являются символами. for ch in text последовательно получает каждый символ, а len(text) даёт длину. Символы разного регистра различаются. Счётчик увеличивают только при нужном совпадении. Например, "12221".count("2") равно 3. Для пустой строки посимвольный цикл не выполняется ни разу. В этих заданиях используются обычные буквы, цифры и пробелы.

Разберём на примерах

Как вывести сообщение только для отрицательной температуры?

Например: temperature = int(input()) if temperature < 0: print("Мороз") При вводе -4 будет сообщение; при 0 вывода не будет. Неполное ветвление подходит, потому что отдельное действие для неотрицательной температуры не требуется.

Как получить произведение трёх одинаковых множителей 3 с помощью цикла?

Начинаем с единицы — нейтрального множителя: product = 1 for i in range(3): product = product * 3 print(product) После умножений получаются 3, 9 и 27. При нуле повторений сохранилась бы начальная единица.

Как заранее проверить строковый тест?

Для строки «кот кот» длина равна 7 с учётом пробела, а строчная «т» встречается дважды. Сначала выпиши символы и ожидаемое количество, затем сравни с фактическим выводом. Так не перепутаешь длину строки, позицию и частоту символа.

Начальный практикум Python 3: if/else, отдельные if, for/range, while, счётчик и частота символа. Вложенные циклы, списки, собственные функции, проверка простоты и решение квадратных уравнений не входят. Это не полный курс программирования.

Какие случаи проверить

КонструкцияРазличающие тесты
ВетвлениеИстинное и ложное условие; равенство границе; равные значения.
Цикл с параметромНоль, одно и несколько повторений, если они разрешены условием.
Цикл с условиемУсловие сразу ложно; один и несколько шагов; понятная причина завершения.
СтрокаПустая строка, отсутствие и несколько вхождений символа, разный регистр.

Короткая тренировка проверяет восемь ответов. Собственные программы, протоколы запусков и объяснения преподаватель проверяет отдельно по критериям практикума.

Задания с ответами и объяснениями

Сначала реши задание, затем открой ответ. Для печати выбери группу или смешанный набор: задания выбранного набора на листе ученика и отдельный ключ с объяснениями.

Построение и проверка программы

Выбери способ построения или исправления программы; для строкового теста найди ожидаемый ответ без запуска. В коде важны отступы.

  1. Программа должна считать допустимым целое значение x от 10 до 25 включительно. Какое условие поставить после if?

    • x >= 10 or x <= 25
    • x >= 10 and x <= 25
    • x > 10 and x < 25
    Ответ и объяснение

    Ответ: x >= 10 and x <= 25

    Нужны обе проверки одновременно: нижняя и верхняя границы включены. С or условие истинно для любого целого x; строгие знаки исключают 10 и 25.

  2. Программа должна найти максимум любых трёх целых a, b и c. В фрагменте есть ошибка: maximum = a if b > maximum: maximum = b elif c > maximum: maximum = c Какая правка обеспечит проверку третьего числа и после изменения maximum во втором сравнении?

    • Заменить elif на отдельный if, сохранив сравнение с c
    • Заменить > на < в обоих условиях
    • Заменить первую строку на maximum = 0, сохранив if и elif
    Ответ и объяснение

    Ответ: Заменить elif на отдельный if, сохранив сравнение с c

    Третье число может оказаться ещё больше после замены maximum на b. Отдельный if выполнит нужное сравнение. Например, для 2, 5 и 9 вариант с elif пропустит 9. Начальный ноль также не подходит, когда все три числа отрицательные.

  3. Нужно вывести каждое целое число от 1 до введённого n включительно, по одному на строке; n — положительное целое. Какой заголовок поставить перед телом print(i)?

    • for i in range(1, n + 1):
    • for i in range(1, n):
    • for i in range(n + 1):
    Ответ и объяснение

    Ответ: for i in range(1, n + 1):

    Правая граница range не включается, поэтому для последнего значения n нужен конец n + 1. Начало 1 исключает лишний ноль. Тело цикла записывается с отступом.

  4. При положительном целом n программа должна вывести числа от 1 до n, но повторяет одно число: i = 1 while i <= n: print(i) Как добавить изменение i, чтобы программа выполняла условие задачи и завершалась?

    • Поставить i = i + 1 после цикла, без отступа тела
    • Поставить i = 1 внутри цикла, сразу после print(i)
    • Поставить i = i + 1 внутри цикла, после print(i)
    Ответ и объяснение

    Ответ: Поставить i = i + 1 внутри цикла, после print(i)

    После каждого вывода i должно увеличиваться; внутри цикла команда записывается с тем же отступом, что и print(i). Когда i станет больше n, условие while окажется ложным. Код за циклом не выполнится, пока цикл не закончится; повторное присваивание единицы не приближает его завершение.

  5. Нужно найти сумму целых чисел от 1 до n. В теле цикла выполняется total = total + i. Где присвоить total = 0, чтобы сохранить накопленную сумму?

    • В начале каждого повторения цикла
    • Один раз перед циклом
    • После цикла, перед выводом суммы
    Ответ и объяснение

    Ответ: Один раз перед циклом

    Накопитель получает начальное значение один раз. Каждое повторение прибавляет новое слагаемое к уже сохранённой сумме. Сброс внутри оставит только последнее слагаемое, а после цикла уничтожит результат.

  6. Готовишь тест программы, которая считает только строчную русскую букву «о», различая регистр. Входная строка — «оОо о» (кавычки не входят в строку). Какое число нужно заранее записать как ожидаемый результат? Запиши число цифрой или словом.

    Ответ и объяснение

    Ответ: 3

    Строчная «о» стоит на первом, третьем и пятом местах. Заглавная «О» и пробел не совпадают с искомым символом. Ожидаемый результат — 3.

  7. Цикл перебирает строку и увеличивает счётчик при совпадении символа. Требуется вывести итог ровно один раз, в том числе для пустой строки. Где поставить print(count)?

    • Внутри цикла, сразу после увеличения счётчика
    • Перед циклом, сразу после присваивания счётчику нуля
    • После цикла, на том же уровне отступа, что и его заголовок
    Ответ и объяснение

    Ответ: После цикла, на том же уровне отступа, что и его заголовок

    Вывод после цикла выполнится один раз и для пустой строки, когда тело не выполнится ни разу. Вывод внутри цикла зависит от повторений; вывод до цикла показывает только начальное значение.

  8. В text хранится строка, в target — один символ. Посимвольный цикл уже посчитал его вхождения с учётом регистра. Какое выражение даст число вхождений для сравнения результата с помощью готового строкового метода?

    • text.count(target)
    • text.find(target)
    • len(text)
    Ответ и объяснение

    Ответ: text.count(target)

    Метод count считает вхождения заданного символа. len даёт общую длину строки, а find — индекс первого вхождения или −1, если его нет. При сравнении здесь регистр сохраняется.

Потренировать эту тему →

Практикум: четыре собственные программы

Работай в доступной среде Python 3. Для каждого файла сначала запиши входные данные и ожидаемый ответ, затем фактический вывод. После сохранения закрой и снова открой исходник. Предъяви программы, тесты и объяснения преподавателю; балл короткой тренировки их не оценивает.

  1. Создай maximum.py: прочитай три целых числа с отдельных строк и выведи наибольшее. Используй сравнения и if; готовую функцию max не используй. Значения могут быть отрицательными или равными. До запуска рассчитай ответы для (2, 5, 9), (9, 5, 2), (−8, −3, −5), (4, 4, 4); добавь свой тест. Сохрани и запусти каждый тест. Объясни, почему начальный максимум нельзя безусловно принять равным нулю.

    Разбор и ориентиры для проверки

    Один из вариантов: a = int(input()) b = int(input()) c = int(input()) maximum = a if b > maximum: maximum = b if c > maximum: maximum = c print(maximum) Начальное значение взято из входных данных. Ноль дал бы неверный результат, если все три числа отрицательные. Допустимы другая структура ветвлений и имена, если они решают задачу для всех разрешённых данных.

    Проверь: Для заданных троек получены 9; 9; −3; 4. Проверяются все три числа, включая третье после изменения максимума при сравнении со вторым. Есть свой тест и его фактический результат. Все отрицательные значения тоже обрабатываются верно.

  2. Создай sum.py: введи целое n от 0 до 10000 и найди сумму целых чисел от 1 до n с помощью for и накопителя. Для n = 0 сумма равна 0. Не используй готовую функцию sum или формулу суммы. Заранее рассчитай ответы для 0, 1, 5 и 10, добавь свой тест. Сохрани программу, запусти тесты и запиши ожидание рядом с фактическим выводом. Объясни положение начального присваивания и вывода.

    Разбор и ориентиры для проверки

    Например: n = int(input()) total = 0 for i in range(1, n + 1): total = total + i print(total) При нуле диапазон пуст, начальная сумма остаётся нулевой. Инициализация внутри цикла уничтожила бы накопленный результат; вывод внутри печатал бы промежуточные суммы.

    Проверь: Ожидаемые результаты: 0; 1; 15; 55. Накопитель инициализирован до цикла, крайнее значение включено, вывод выполнен один раз после цикла. Есть собственный тест.

  3. Создай gcd.py для нахождения НОД двух положительных целых чисел от 1 до 10000 алгоритмом Евклида: пока числа различны, вычитай меньшее из большего. Используй while и ветвление, без готовой функции НОД. Заранее найди ответы для (18, 12), (7, 7), (13, 1), (8, 15), добавь свой тест. Для первой пары сохрани gcd_debug.py с выводом обоих значений перед каждым изменением и после цикла. Запусти обычные тесты и отладочную версию; объясни завершение и почему ноль исключён из условия.

    Разбор и ориентиры для проверки

    Обычная версия может выглядеть так: a = int(input()) b = int(input()) while a != b: if a > b: a = a - b else: b = b - a print(a) При вычитании общий делитель сохраняется. Положительные значения не становятся нулевыми: вычитание выполняется только для разных чисел. Их сумма строго уменьшается, пока они не сравняются. Если допустить один ноль, вычитание нуля не изменит большее число и цикл не завершится. Отладочные строки добавляются отдельно; в обычной версии выводится только найденный НОД.

    Проверь: НОД для заданных пар: 6; 7; 1; 1. Для первой пары отладочная последовательность до изменений: 18 и 12; 6 и 12; после цикла — 6 и 6. У равных входов тело не выполняется. Сохранены обе версии и протоколы тестов.

  4. Создай frequency.py: первая строка ввода — текст из русских или латинских букв, цифр и пробелов, вторая — один искомый символ (буква или цифра). Регистр различается. Посчитай вхождения символа посимвольным циклом со счётчиком, затем независимо сравни с text.count(target). Выведи оба числа через пробел один раз. До запуска рассчитай ответы для текста «оОо о» и символа «о»; пустого текста и «а»; текста «мир» и «а»; текста «аааа» и «а». Кавычки не вводи; для пустого текста нажми Enter на первой строке. Добавь свой тест, сохрани исходник и таблицу результатов.

    Разбор и ориентиры для проверки

    Один из вариантов: text = input() target = input() count = 0 for ch in text: if ch == target: count = count + 1 print(count, text.count(target)) Начальный счётчик нужен и для пустой строки. Метод применяется после самостоятельного посимвольного подсчёта как отдельная сверка. Совпадение двух результатов ещё сверяют с ручным ожиданием: оба способа могут получить ошибочно выбранный искомый символ.

    Проверь: Оба способа дают соответственно 3 и 3; 0 и 0; 0 и 0; 4 и 4. Цикл сам считает совпадения, не заменён вызовом count. Пустая строка допустима, регистр не меняется, итог выводится один раз. Есть свой тест с заранее найденным ответом.

Для самостоятельной работы и урока

Начни с уже изученной группы, пройди выбранный набор и разбери ошибки. Репетитор может изменить набор, сохранить его и выдать приватное ДЗ. Автопроверка оценивает ответ; способ рассуждения полезно обсудить на уроке.

Как записывать ответы?

Выбери вариант; количество букв запиши цифрой или словом. Код практикума создавай и запускай в отдельной среде Python 3. Сохраняй отступы и используй обычные знаки кода.

Как понимать результат?

Это число верных первых ответов, без перевода в школьную отметку. Повтор ошибок отображается отдельно и не меняет первый результат. Ответы на короткий набор не подтверждают освоение всей темы.

Программа и границы материала

Основа — федеральная рабочая программа. Информатика 7–9 классов, базовый уровень, 2025: содержание в 8 классе — с. 10, результаты — с. 19, программирование и практические работы — с. 35–37. Документ проверен 30.09.2026. Выбирайте уже пройденные темы по своему учебнику.

Учебник из федерального перечня: Л. Л. Босова, А. Ю. Босова «Информатика. 8 класс», базовый уровень, 5-е переработанное издание. Ветвления и циклы сопоставлены с законным авторским электронным приложением к §§ 5.4–5.5. Строки — по ФРП и официальной документации Python. Полные печатные параграфы не прочитаны.

Задания и объяснения созданы для Урокдеска. Все задания независимо перерешаны и сверены с федеральной программой 30 сентября 2026 года. Проверка учителем-предметником пока не проводилась. Это не официальный вариант ВПР, МЦКО, ОГЭ или ЕГЭ и не полный курс подготовки.

Другие темы для тренировки

Плотность вещества, 7 класс · Валентность, 8 класс · Системы счисления, 8 класс · Химические уравнения, 8 класс · Строение клетки, 5 класс · Часовые зоны, 8 класс · Древний Египет, 5 класс · Чтение чертежа, 5 класс · Haben и sein, 5 класс · Народные промыслы, 5 класс · Скорость, 7 класс · Количество теплоты, 8 класс · Массовая доля, 8 класс · Простые и сложные вещества, 8 класс · Строение цветка, 6 класс · Давление твёрдых тел, 7 класс · Закон Ома, 8 класс · Количество вещества и молярная масса, 8 класс · Методы биологии и микроскоп, 5 класс · Фотосинтез, 6 класс · Грибы, 7 класс · Файлы и каталоги, 7 класс · План местности и азимут, 5 класс · Черви, 8 класс · Расчёты по уравнениям реакций, 8 класс · Счёт лет и исторические источники, 5 класс · Высоты и горизонтали, 5 класс · Среды обитания и приспособления, 5 класс · Географические координаты, 5 класс · Океан, озёра и круговорот, 6 класс · Масштаб, 5 класс · Кодирование изображения и звука, 7 класс · Климатограммы, 7 класс · Литосфера, породы и рельеф, 5 класс · Древняя Греция: полисы и граждане, 5 класс · Реки, 6 класс · Классы неорганических соединений, 8 класс · Ткани растений, 6 класс · Строение корня, 6 класс · Температура, давление и ветер, 6 класс · Древний Рим: республика и империя, 5 класс · Смутное время, 7 класс · Свойства неорганических соединений, 8 класс · Цепочки превращений, 8 класс · Побег и почки, 6 класс · Строение стебля, 6 класс · Строение листа, 6 класс · Погода и климат, 6 класс · Средневековый город и сословия, 6 класс · Материки и океаны: сравнение, 7 класс · Крещение Руси, Ярослав и раздробленность, 6 класс · Реформы Петра I, 8 класс · Первые русские князья, 6 класс · Кислород и воздух, 8 класс · Водород и вода, 8 класс · Семена и прорастание, 6 класс · Плоды и распространение семян, 6 класс · Опыление и оплодотворение, 6 класс · Рельеф, тектоника и ресурсы России, 8 класс · От нашествия к объединению вокруг Москвы, 6 класс · Растворимость, 8 класс · Испарение и транспорт веществ, 6 класс · Строение атома и периодическая система, 8 класс · Водоросли, 7 класс · Мхи: кукушкин лён и сфагнум, 7 класс · Папоротники, хвощи и плауны, 7 класс · Климат, воды, почвы и природные зоны России, 8 класс · Великие открытия, Возрождение и Реформация, 7 класс · Голосеменные растения, 7 класс · Покрытосеменные: классы и семейства, 7 класс · Химическая связь, 8 класс · Логические операции и таблицы истинности, 8 класс · Поиск информации и проверка источников, 7 класс · Население России: плотность, движение и расселение, 8 класс · Иван Грозный и Россия XVI–XVII веков, 7 класс · Бактерии, 7 класс · Лишайники, 7 класс · Степень окисления и ОВР, 8 класс · Просвещение, революции и промышленный переворот, 8 класс · Одноклеточные и простейшие, 8 класс · Кишечнополостные и гидра, 8 класс · Членистоногие, 8 класс · Моллюски, 8 класс · Рыбы, 8 класс · Земноводные, 8 класс · Пресмыкающиеся, 8 класс · Птицы, 8 класс · Млекопитающие, 8 класс · Дворцовые перевороты, Екатерина II и Павел I, 8 класс · Текстовые документы, 7 класс · Растровая и векторная графика, 7 класс · Компьютерные презентации, 7 класс · Линейные программы на Python, 8 класс · Кодирование информации, 7 класс · Алгоритмы, 8 класс · Движения Земли и освещение, 5 класс · Междуречье и Вавилон, 5 класс · Влажность, облака и осадки, 6 класс · Первобытные люди, 5 класс · Биосфера и наблюдения, 6 класс · Древняя Индия, 5 класс · Воздушные массы и пояса, 7 класс · Древний Китай, 5 класс · Устройство компьютера и память, 7 класс · Программное обеспечение, 7 класс · Географическое положение России, 8 класс · Византия и Юстиниан, 6 класс · Строение вещества, 7 класс · Внутренняя энергия и теплопередача, 8 класс · Плавление и отвердевание, 8 класс · Испарение, кипение и конденсация, 8 класс · Влажность воздуха, 8 класс · Энергия топлива и КПД двигателя, 8 класс · Сила тяжести и вес тела, 7 класс · Сила упругости и закон Гука, 7 класс · Сила трения и инерция, 7 класс · Электрический заряд и электризация, 8 класс · Электрическое поле и закон Кулона, 8 класс · Давление жидкости и закон Паскаля, 7 класс · Давление газа и атмосферы, 7 класс · Закон Архимеда и плавание тел, 7 класс · Соединение проводников, 8 класс · Работа и мощность тока, 8 класс · Механическая работа и мощность, 7 класс · Простые механизмы: рычаг и блоки, 7 класс · Кинетическая и потенциальная энергия, 7 класс · Магнитное поле и электромагниты, 8 класс · Электромагнитная индукция, 8 класс · Измерения, цена деления и погрешность, 7 класс · Ткани, органы и системы органов человека · Сердце, сосуды и круги кровообращения · Нервная система и рефлексы · Электролитическая диссоциация · Полные и сокращённые ионные уравнения · Качественные реакции на ионы · Равномерное и равноускоренное движение, графики · Законы Ньютона · Импульс и закон сохранения импульса · Электронные таблицы: формулы и ссылки · Скелет и мышцы · Кровь и иммунитет · Дыхание человека · Пищеварение человека · Свободное падение · Скорость химической реакции · Отечественная война 1812 года · Реформы Александра II · Обмен веществ и витамины · Анализаторы: зрение и слух · Эндокринная система · Галогены · Сера и её соединения · Азот и фосфор · Движение по окружности · Закон всемирного тяготения · Механические колебания и волны, звук · Строение атома и ядра, радиоактивность · Выделение и кожа · Металлы: общие свойства и ряд активности · проценты, 6 класс · конструктор тестов · все тренажёры для школьников · все бесплатные инструменты.