Підрахунок словникового запасу
Ваша мета — написати функцію def vocabulary_count(text: str) -> dict[str: int]
, яка допомагає підрахувати словниковий запас людини на
основі введеного тексту. Словниковий запас у цьому контексті визначається як
кількість унікальних слів у тексті.
Функція повинна
- Приймати на вхід текст, що складається зі слів, розділених пробілами, комами, крапками чи іншими символами пунктуації.
- Визначати, які слова є унікальними, і підраховувати їх кількість.
- Ігнорувати регістр літер (тобто слова "Слово" та "слово" вважаються одним словом).
Вимоги до реалізації
- Вхідний текст може містити літери, цифри, пробіли та символи пунктуації.
- Словом вважається будь-яка окрема послідовність букв і цифр, незалежно від їх граматичної форми чи відмінків. Наприклад, слова "сонце", "сонцем" і "сонцю" слід розглядати як окремі слова.
- Якщо слово складається лише з цифр, то таке слово треба проігнорувати. Наприклад: "дві тисячі" — це два слова. "2000" — не слово.
- Функція повинна повертати словник (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}
Підказка
- Щоб видалити пунктуацію, можна вручну перевіряти кожен символ або використовувати стандартні методи роботи з рядками.
- Для розбиття тексту на слова використовуйте метод
str.split()
. - Усі слова зведіть до нижнього регістру перед підрахунком за домопогою
str.lower()
.