Menu
Coddy logo textTech

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

Часть раздела Logic & Flow путешествия по 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

Все уроки раздела Logic & Flow