Информатика · 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, счётчик и частота символа. Вложенные циклы, списки, собственные функции, проверка простоты и решение квадратных уравнений не входят. Это не полный курс программирования.
Какие случаи проверить
| Конструкция | Различающие тесты |
|---|---|
| Ветвление | Истинное и ложное условие; равенство границе; равные значения. |
| Цикл с параметром | Ноль, одно и несколько повторений, если они разрешены условием. |
| Цикл с условием | Условие сразу ложно; один и несколько шагов; понятная причина завершения. |
| Строка | Пустая строка, отсутствие и несколько вхождений символа, разный регистр. |
Короткая тренировка проверяет восемь ответов. Собственные программы, протоколы запусков и объяснения преподаватель проверяет отдельно по критериям практикума.
Задания с ответами и объяснениями
Сначала реши задание, затем открой ответ. Для печати выбери группу или смешанный набор: задания выбранного набора на листе ученика и отдельный ключ с объяснениями.
Построение и проверка программы
Выбери способ построения или исправления программы; для строкового теста найди ожидаемый ответ без запуска. В коде важны отступы.
Программа должна считать допустимым целое значение x от 10 до 25 включительно. Какое условие поставить после if?
Ответ и объяснение
Ответ:
x >= 10 and x <= 25Нужны обе проверки одновременно: нижняя и верхняя границы включены. С or условие истинно для любого целого x; строгие знаки исключают 10 и 25.
Программа должна найти максимум любых трёх целых a, b и c. В фрагменте есть ошибка:
maximum = a if b > maximum: maximum = b elif c > maximum: maximum = cКакая правка обеспечит проверку третьего числа и после изменения maximum во втором сравнении?Ответ и объяснение
Ответ: Заменить
elifна отдельныйif, сохранив сравнение с cТретье число может оказаться ещё больше после замены maximum на b. Отдельный if выполнит нужное сравнение. Например, для 2, 5 и 9 вариант с elif пропустит 9. Начальный ноль также не подходит, когда все три числа отрицательные.
Нужно вывести каждое целое число от 1 до введённого n включительно, по одному на строке; n — положительное целое. Какой заголовок поставить перед телом
print(i)?Ответ и объяснение
Ответ:
for i in range(1, n + 1):Правая граница range не включается, поэтому для последнего значения n нужен конец n + 1. Начало 1 исключает лишний ноль. Тело цикла записывается с отступом.
При положительном целом n программа должна вывести числа от 1 до n, но повторяет одно число:
i = 1 while i <= n: print(i)Как добавить изменение i, чтобы программа выполняла условие задачи и завершалась?Ответ и объяснение
Ответ: Поставить
i = i + 1внутри цикла, послеprint(i)После каждого вывода i должно увеличиваться; внутри цикла команда записывается с тем же отступом, что и
print(i). Когда i станет больше n, условие while окажется ложным. Код за циклом не выполнится, пока цикл не закончится; повторное присваивание единицы не приближает его завершение.Нужно найти сумму целых чисел от 1 до n. В теле цикла выполняется
total = total + i. Где присвоитьtotal = 0, чтобы сохранить накопленную сумму?Ответ и объяснение
Ответ: Один раз перед циклом
Накопитель получает начальное значение один раз. Каждое повторение прибавляет новое слагаемое к уже сохранённой сумме. Сброс внутри оставит только последнее слагаемое, а после цикла уничтожит результат.
Готовишь тест программы, которая считает только строчную русскую букву «о», различая регистр. Входная строка — «оОо о» (кавычки не входят в строку). Какое число нужно заранее записать как ожидаемый результат? Запиши число цифрой или словом.
Ответ и объяснение
Ответ: 3
Строчная «о» стоит на первом, третьем и пятом местах. Заглавная «О» и пробел не совпадают с искомым символом. Ожидаемый результат — 3.
Цикл перебирает строку и увеличивает счётчик при совпадении символа. Требуется вывести итог ровно один раз, в том числе для пустой строки. Где поставить
print(count)?Ответ и объяснение
Ответ: После цикла, на том же уровне отступа, что и его заголовок
Вывод после цикла выполнится один раз и для пустой строки, когда тело не выполнится ни разу. Вывод внутри цикла зависит от повторений; вывод до цикла показывает только начальное значение.
В text хранится строка, в target — один символ. Посимвольный цикл уже посчитал его вхождения с учётом регистра. Какое выражение даст число вхождений для сравнения результата с помощью готового строкового метода?
Ответ и объяснение
Ответ:
text.count(target)Метод count считает вхождения заданного символа. len даёт общую длину строки, а find — индекс первого вхождения или −1, если его нет. При сравнении здесь регистр сохраняется.
Практикум: четыре собственные программы
Работай в доступной среде Python 3. Для каждого файла сначала запиши входные данные и ожидаемый ответ, затем фактический вывод. После сохранения закрой и снова открой исходник. Предъяви программы, тесты и объяснения преподавателю; балл короткой тренировки их не оценивает.
Создай 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. Проверяются все три числа, включая третье после изменения максимума при сравнении со вторым. Есть свой тест и его фактический результат. Все отрицательные значения тоже обрабатываются верно.
Создай 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. Накопитель инициализирован до цикла, крайнее значение включено, вывод выполнен один раз после цикла. Есть собственный тест.
Создай 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. У равных входов тело не выполняется. Сохранены обе версии и протоколы тестов.
Создай 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 класс · конструктор тестов · все тренажёры для школьников · все бесплатные инструменты.