"""
В нашей школе мы не можем разглашать персональные данные пользователей, но чтобы преподаватель
и ученик смогли объяснить нашей поддержке, кого они имеют в виду (у преподавателей, например,
часто учится несколько Саш), мы генерируем пользователям уникальные и легко произносимые имена.
Имя у нас состоит из прилагательного, имени животного и двузначной цифры.
В итоге получается, например, "Перламутровый лосось 77". Для генерации таких имен мы и решали следующую задачу:
Получить с русской википедии список всех животных (Категория:Животные по алфавиту)
и вывести количество животных на каждую букву алфавита. Результат должен получиться в следующем виде:
А: 642
Б: 412
В:....
"""

import wikipediaapi
import string

ALPHABET = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя".upper() + string.ascii_uppercase

wiki_wiki = wikipediaapi.Wikipedia('ru')
cat = wiki_wiki.page("Категория:Животные_по_алфавиту")


def count_total_animals(members):
    d = dict.fromkeys(ALPHABET, 0)
    for c in members.values():
        d[c.title[0]] += 1
    for k, v in d.items():
        print(f'{k}: {v}')


if __name__ == '__main__':
    print("Please wait...")
    count_total_animals(cat.categorymembers)  # Ответ в файле task_02_out.txt

