Уникальный шифр

Контекст

Представьте, что вы — детектив, который получил загадочное письмо с шифровкой. Нужно найти количество уникальных символов в письме, чтобы разгадать его и раскрыть тайну.

Задача

Напишите функцию, которая принимает строку и возвращает количество уникальных символов в строке. Используйте для выполнения задачи lambda-функции и map и/или filter.

Сделайте так, чтобы алгоритм НЕ был регистрозависим: буквы разного регистра должны считаться одинаковыми.

Советы

  • Работать с регистрами помогут методы строк lower/upper.
  • Уникальными считаются буквы, которые повторяются только один раз (например строка «аа» будет содержать 0 уникальных букв).
# Пример:
message = "Today is a beautiful day! The sun is shining and the birds are singing."

unique_count = count_unique_characters(message)
print("Количество уникальных символов в строке:", unique_count)

# Вывод: 
Количество уникальных символов в строке — 5.
from collections import Counter

def count_unique_characters(element: str) -> int:
    return sum(list(filter(lambda value: value == 1, Counter(element.lower()).values())))


# Пример использования:
message = "Today is a beautiful day! The sun is shining and the birds are singing."

unique_count = count_unique_characters(message)

if __name__ == '__main__':
    print("Количество уникальных символов в строке:", unique_count)