Предмет: Информатика, автор: Python444

python
У вас есть собранные данные по входам пользователей системы собранные в виде словаря, требуется найти 3 имени пользователя которые чаще всего входили в систему. Для поиска необходимо написать функцию возвращающую список имен.

users = {'John':500, 'Sam':5874, 'Dave': 560,'Cat':400, 'Jack':5874, 'Michael': 20}.

Ответы

Автор ответа: YKR4
2

Ответ:

def Most_online(users_list: dict) -> list:

   sort_users = sorted(users_list.items(), key=lambda i: i[1], reverse=True)[:3]

   res = [i[0] for i in sort_users]

   return res

users = {'John':500, 'Sam':5874, 'Dave': 560,'Cat':400, 'Jack':5874, 'Michael': 20}.

most_online = Mosr_online(users)

# в объект most_online записывается отсортированный список

print(most_online)

Объяснение:

Создал функцию, которая принимает в себя словарь. Создается отсортированный список первых трех людей(число входов в систему самое большое). Я это сделал, отсортировав список по значению с помощью sort() в обратном порядке(от большего к меньшему). затем прохожусь по этому списку и записываю в результат в список.


Python444: users = {'John':500, 'Sam':5874, 'Dave': 560,'Cat':400, 'Jack':5874, 'Michael': 20}. эту строку куда вставить?
YKR4: это нужно передать, как аргумент функции. т.е.

users = {'John':500, 'Sam':5874, 'Dave': 560,'Cat':400, 'Jack':5874, 'Michael': 20}.

most_online = Mosr_online(users)
Python444: напишите пожалуйста код полностью не могу разобраться чтобы этот список он распечатывал
YKR4: обновил ответ и дополнил код
Python444: спасибо)
Похожие вопросы
Предмет: Английский язык, автор: hnbbbbbb