Підрахунок словникового запасу

Ваша мета — написати функцію def vocabulary_count(text: str) -> dict[str: int], яка допомагає підрахувати словниковий запас людини на основі введеного тексту. Словниковий запас у цьому контексті визначається як кількість унікальних слів у тексті.

Функція повинна

  1. Приймати на вхід текст, що складається зі слів, розділених пробілами, комами, крапками чи іншими символами пунктуації.
  2. Визначати, які слова є унікальними, і підраховувати їх кількість.
  3. Ігнорувати регістр літер (тобто слова "Слово" та "слово" вважаються одним словом).

Вимоги до реалізації

  1. Вхідний текст може містити літери, цифри, пробіли та символи пунктуації.
  2. Словом вважається будь-яка окрема послідовність букв і цифр, незалежно від їх граматичної форми чи відмінків. Наприклад, слова "сонце", "сонцем" і "сонцю" слід розглядати як окремі слова.
  3. Якщо слово складається лише з цифр, то таке слово треба проігнорувати. Наприклад: "дві тисячі" — це два слова. "2000" — не слово.
  4. Функція повинна повертати словник (dict), де: ключ — це слово в нижньому регістрі; значення — це кількість разів, яке це слово зустрічається в тексті.

Приклад роботи програми

>>> print(vocabulary_count("Перший інститут надійного програмного забезпечення засновано у 2017 році."))
{"перший": 1, "інститут": 1, "надійного": 1, "програмного": 1, "забезпечення": 1, "засновано": 1, "у": 1, "році": 1}

>>> print(vocabulary_count("Кіт, собака, птах і кіт. Собака - це друг людини."))
{'кіт': 2, 'собака': 2, 'птах': 1, 'і': 1, 'це': 1, 'друг': 1, 'людини': 1}

>>> print(vocabulary_count("Програмування, програмування... та ще раз програмування!"))
{'програмування': 3, 'та': 1, 'ще': 1, 'раз': 1}

Підказка

  1. Щоб видалити пунктуацію, можна вручну перевіряти кожен символ або використовувати стандартні методи роботи з рядками.
  2. Для розбиття тексту на слова використовуйте метод str.split().
  3. Усі слова зведіть до нижнього регістру перед підрахунком за домопогою str.lower().