Menu
Coddy logo textTech

Аналитика слов

Часть раздела Логика и управление потоком выполнения путешествия по Python на Coddy. Урок 77 из 78.

challenge icon

Задание

Сложно

Создай функцию с именем analyze_text, которая анализирует слова в текстовой строке.

Твоя функция должна:

  1. Подсчитать уникальные слова (без учёта регистра)
  2. Найти все слова, которые встречаются более одного раза
  3. Определить все слова-палиндромы (слова, которые одинаково читаются слева направо и справа налево, например "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

Все уроки раздела Логика и управление потоком выполнения

Потренируйтесь самостоятельно: Онлайн-компилятор Python