Задание 1. Популярные слова
Функция принимает любое количество строк и возвращает 5 самых популярных слов с количеством.
text1 = "This is a sample text with some repeated words."
text2 = "Another sample text with different words."
text3 = "Text processing is fun when words repeat."Ожидаемый результат: words: 3, text: 3, with: 2, sample: 2, is: 2
Задание 2. Группировка задач по категории
Сгруппируйте задачи по их категориям.
tasks = {"task1": "работа", "task2": "учёба", "task3": "развлечения", "task4": "работа", "task5": "учёба"}Ожидаемый результат: {'работа': ['task1', 'task4'], ...}
Задание 3. Поиск задач
Верните список задач для указанной категории.
category = "учёба"Ожидаемый результат: ['task2', 'task5']
Задание 4. Очередь задач с приоритетом
Измените исходный OrderedDict так, чтобы высокий приоритет был в начале.
tasks = OrderedDict({"task1": "низкий", "task2": "средний", "task3": "высокий", "task4": "низкий", "task5": "высокий"})Ожидаемый результат: task3, task5, task2, task1, task4
Задание 5. Подсчёт посещений страниц
Подсчитайте посещения каждой страницы через defaultdict.
pages = ["home", "about", "home", "products", "home", "contact", "products"]Ожидаемый результат: {'home': 3, 'about': 1, 'products': 2, 'contact': 1}
Задание 6. Группировка слов по длине
Сгруппируйте слова по их длине.
words = ["apple", "banana", "kiwi", "grape", "orange", "peach"]Ожидаемый результат: 5: ['apple', 'grape', 'peach']
Задание 7. Глобальный счётчик
Создайте increment_counter, который использует global counter для подсчёта вызовов.
increment_counter()
increment_counter()
print(counter)Ожидаемый результат: Вызовов функции: 2
Задание 8. Очередь с LRU-кэшированием
Добавляйте новые задачи, перемещайте повторные в конец и удаляйте старые при превышении лимита.
tasks = ["task1", "task2", "task3", "task4", "task5", "task6"]
new_tasks = ["task4", "task1", "task7", "task2"]Ожидаемый результат: ['task4', 'task1', 'task7', 'task2']