Реальные данные приходят из файлов и редко бывают просто числами: это ученики с фамилиями и баллами, слова с частотами, товары с ценами. Словарь связывает ключ со значением, а класс объединяет разнородные поля одного объекта. Вместе с файлами это основа любой программы обработки данных.
Чтение файла построчно и символ перевода строки в конце строк, текстовые и двоичные файлы. Словари: доступ по ключу, KeyError, метод get с значением по умолчанию, keys, values и items, допустимые типы ключей, перебор элементов. Алфавитно-частотный словарь. Классы: class, конструктор __init__, параметр self, поля объекта, ссылки на один объект. Хранение структур в файле в формате с разделителями и обратное чтение. Сортировка и поиск структур по полю. Наследование.
Пятнадцать заданий: посчитать частоту слова и размер словаря, предсказать результат get и обращения к отсутствующему ключу, сопоставить метод словаря и результат, выбрать допустимые ключи, разделить файлы на текстовые и двоичные, восстановить шаги построения частотного словаря, найти лучшего ученика функцией max с ключом.
Пояснения показывают, почему строки, прочитанные из файла, нужно очищать strip, почему список не может быть ключом словаря, почему балл из строки «Аня;85» остаётся строкой до вызова int и почему изменение объекта через одну переменную видно через другую.
Работа рассчитана на двенадцать часов курса. Словари и классы понадобятся сразу же — в стеке, деревьях и графах, где вершины и рёбра удобно описывать именно так. Девятый класс завершает трёхлетний курс «Программирование» ИТ-вертикали: тридцать четыре часа на Python, посвящённые структурам данных и классическим алгоритмам. Это материал, с которого начинаются олимпиадная информатика и профильные ИТ-классы, куда поступает большинство выпускников вертикали. Эта работа — вторая из 5 по курсу.
Комплект работает и на школьном компьютере, и на личном смартфоне ученика. Учитель может задать период, в течение которого доступен тест, поэтому его допустимо выполнять и дома. Предусмотрен контроль честности: переключение на другие вкладки и приложения во время теста отслеживается.
Краткая шпаргалка по теме курса: понятия, правила и примеры, типичные ошибки. Заданий этой работы в ней нет — только материал, который она проверяет.
Шпаргалка: Файлы, словари, структуры и классы — курс «Программирование: алгоритмы и структуры данных», 9 класс →Чем заканчивается каждая строка (кроме, возможно, последней), прочитанная циклом for line in f из текстового файла?
Какое число выведет программа?
d = {}
for w in 'кот пёс кот мышь кот'.split():
d[w] = d.get(w, 0) + 1
print(d['кот'])Эта работа открывается в кабинете родителя: ребёнок проходит её с телефона или компьютера, вы видите баллы, разбор каждой ошибки и то, какие темы просели. Разовая оплата, доступ навсегда. Первый тест — бесплатно.
Купить для ребёнка — 190 ₽ Что такое кабинет родителяДля учителей и репетиторов, работающих с учениками вне школы. Разовая оплата, доступ навсегда — без подписки. Проведение с любого устройства: участники заходят по ссылке или QR-коду, регистрация не нужна. Результат и разбор ошибок — сразу после работы.
Купить тест — 390 ₽ Оферта и реквизитыДля всей школы — подключить организацию по лицензии →
Чтобы добавить тест в базу и провести диагностику — подключите школу к ЗнаниоМетр. Тест станет вашей редактируемой копией: правьте вопросы, баллы и запускайте сессии.
Посмотреть в демоРеальные экраны прохождения в ЗнаниоМетр: на компьютере, на смартфоне и версия для печати (PDF).