Аналитика слов
Часть раздела Logic & Flow путешествия по Python на Coddy — урок 77 из 78.
Задание
СложноСоздайте функцию с именем analyze_text, которая анализирует слова в текстовой строке.
Ваша функция должна:
- Подсчитать количество уникальных слов (без учета регистра)
- Найти все слова, которые встречаются более одного раза
- Выявить все слова-палиндромы (слова, которые читаются одинаково слева направо и справа налево, например, "level")
Верните словарь с тремя ключами:
unique_count: количество уникальных слов (повторяющиеся слова также считаются по одному разу)repeated_words: отсортированный список слов, встречающихся более одного разаpalindromes: отсортированный список слов-палиндромов
Примечания:
- Считайте слова нечувствительными к регистру (например, "Hello" и "hello" — это одно и то же слово)
- Удалите любую пунктуацию
(.,!?:;"())из слов - Отсортируйте списки
repeated_wordsиpalindromesпо алфавиту
Пример входных данных:
"Madam saw a racecar. Dad said hello hello to mom."
Ожидаемый результат:
{
'unique_count': 9,
'repeated_words': ['hello'],
'palindromes': ['a', 'dad', 'madam', 'mom', 'racecar']
}Попробуйте сами
def analyze_text(text):
# Ваше решение здесь
# 1. Разделите текст на слова и нормализуйте их
# (приведите к нижнему регистру и удалите пунктуацию)
# 2. Подсчитайте количество вхождений каждого слова
# 3. Найдите количество уникальных слов
# 4. Определите повторяющиеся слова (встречающиеся более одного раза)
# 5. Найдите слова-палиндромы
# 6. Верните результаты в словаре с отсортированными списками
passВсе уроки раздела Logic & Flow
1Изучение переменных
КонстантыМножественное присваиваниеОбмен значениями переменныхПеременные-заполнителиОкругление чиселПриведение к списку4Приложение «Книга контактов»
Показать менюДобавить контакт7Множества. Часть 2
Математические операции. Часть 1Математические операции. Часть 2Повторение — Охота за сокровищамиПодмножества и надмножестваИтерация по множествамПовторение — Трекер турнира10Базовые генераторы списков
СинтаксисСоздание простых списковДобавление условийИспользование агрегации данныхПовторение — Дом списковПовторение — Элементы свободы13Система управления запасами
Обзор проектаДобавление товара2Словари. Часть 1
Что такое словарь?Создание словаряДоступ к значениямИзменение словарейИтоги — Менеджер рецептов5Продвинутое принятие решений
Тернарный операторПроверка вхожденияПроверка идентичностиОшибки отступовПовторение — Фильтр отпусков8Менеджер записей студентов
Обзор проектаДобавить студента11Продвинутые функции
Возврат нескольких значенийLambda-функции. Часть 1Lambda-функции. Часть 2Задача на повторение — Lambda-сортировкаРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного списка14Функции высшего порядка
Функция mapФункция filterПовторение — Валидатор emailПовторение — Обработчик чисел3Словари. Часть 2
Методы словарейВложенные словариПроверка наличия ключейПеребор словарей в циклеПовторение: счетчик частоты6Множества. Часть 1
Что такое множество?Основные операцииМетоды множествПовторение — удаление дубликатов9Продвинутая агрегация данных
Использование SumПоиск минимума и максимумаЭффективная сортировка данныхПовторение — Dictionary Sorter