Подготовка к КР
Требуемые условия завершения
Открыто с: среда, 4 декабря 2024, 00:00
Срок сдачи: среда, 11 декабря 2024, 00:00
- Напишите функцию word_frequency(text), которая принимает строку text и возвращает словарь, где ключи — это слова, а значения — количество их вхождений в тексте.
- Напишите функцию invert_dict(d), которая принимает словарь d и возвращает новый словарь, где ключи и значения поменяны местами. Если два ключа имеют одно и то же значение, сохраните их в виде списка.
- Напишите функцию char_frequency(s), которая принимает строку s и возвращает словарь, где ключи — это символы, а значения — количество их вхождений в строке.
- Напишите функцию merge_dicts(dict1, dict2), которая объединяет два словаря. Если ключи совпадают, сохранить суммы их значений.
- Напишите функцию most_frequent_value(d), которая возвращает значение, которое встречается чаще всего в словаре. Если таких значений несколько, вернуть любое из них.
- Напишите функцию, которая принимает список и возвращает множество, содержащее только уникальные элементы.
- Напишите функцию, которая принимает два множества и проверяет, является ли одно из них подмножеством другого.
- Напишите функцию, которая принимает два множества и возвращает симметрическую разность (элементы, которые находятся только в одном из множеств).
- Напишите программу, которая принимает строку, разбивает её на слова и возвращает множество уникальных слов.
- Напишите функцию, которая принимает две строки и возвращает множество уникальных символов, содержащихся в обеих строках.
- Напишите функцию, которая принимает несколько списков и находит элементы, которые встречаются во всех списках.
- С клавиатуры вводится последовательность натуральных чисел, ограниченная нулем. Значение чисел не превышают 999. Вывести значения поступивших чисел по группам: сначала одноразрядные, затем двухразрядные и в конце трехразрядные. Порядок следования чисел в каждой группе не должен изменяться по сравнению с порядком ввода чисел.
- Очереди q1 и q2 содержат данные типа integer. Выполнить слияние, получив очередь q, содержащую все элементы очередей q1 и q2, расположенные в неубывающем порядке.
- Напишите функцию, которая принимает строку и возвращает ее в обратном порядке, используя стек.
- Напишите функцию, которая принимает строку из скобок (), {}, [] и проверяет, корректно ли они сбалансированы, используя стек.
- Создайте класс Person с атрибутами name и age и методом для вывода информации о человеке.
- Напишите класс Student, который наследуется от Person, и добавьте ему атрибут grade.
- Реализуйте полиморфизм, создайте несколько классов с общим методом describe, который выводит разные сообщения.
- Для создания модели программного обеспечения для книжного магазина необходимо написать родительский класс Book (Книга). Этот класс имеет атрибуты title, price, author (название, цена, автор). Подклассы Fiction, NonFiction и Comic наследуют все атрибуты суперкласса Book. Кроме того, у них есть и свои уникальные атрибуты:
- Fiction – genre (жанр).
- NonFiction – subject (тема).
- Comic – illustrator (иллюстратор) и series (серия).
Реализация дерева с произвольным числом потомков. Реализуйте класс для дерева. Добавьте методы:
- Вставка дочернего узла.
- Поиск узла по значению.
- Удаление узла.
20. Подсчет узлов дерева. Напишите функцию, которая считает количество узлов в дереве.
21. Определение высоты дерева. Реализуйте функцию, которая возвращает высоту дерева — максимальную длину пути от корня до листа.
- Реализуйте функции для различных типов обходов:
- Pre-order (корень → левое поддерево → правое поддерево)
- In-order (левое поддерево → корень → правое поддерево)
- Post-order (левое поддерево → правое поддерево → корень)
- Реализуйте класс для бинарного дерева и методы:
- Вставка узла.
- Удаление узла.
- Поиск узла по значению.