Вопрос задан 26.09.2023 в 10:44. Предмет Информатика. Спрашивает Фецяк Олег.

Python У вас есть собранные данные по входам пользователей системы собранные в виде словаря,

требуется найти 3 имени пользователя которые чаще всего входили в систему. Для поиска необходимо написать функцию возвращающую список имен. users = {'John':500, 'Sam':5874, 'Dave': 560,'Cat':400, 'Jack':5874, 'Michael': 20}.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Смирнов Евгений.

Ответ:

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() в обратном порядке(от большего к меньшему). затем прохожусь по этому списку и записываю в результат в список.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вы можете решить эту задачу, используя Python, создав функцию, которая анализирует данный словарь и возвращает список 3 имен пользователей, которые чаще всего входили в систему. Вот пример реализации такой функции:

python
def find_top_users(user_data, n=3): # Сначала создадим список кортежей (имя пользователя, количество входов) user_entries = [(user, entries) for user, entries in user_data.items()] # Сортируем список по количеству входов в убывающем порядке sorted_users = sorted(user_entries, key=lambda x: x[1], reverse=True) # Получаем топ N пользователей top_users = [user for user, _ in sorted_users[:n]] return top_users # Пример использования users = {'John': 500, 'Sam': 5874, 'Dave': 560, 'Cat': 400, 'Jack': 5874, 'Michael': 20} top_users = find_top_users(users, 3) print(top_users)

Этот код создаст список кортежей с именами пользователей и количеством их входов, отсортирует его по убыванию количества входов и вернет список топ N пользователей (в данном случае N=3). В приведенном примере кода вы получите список из трех имен, которые чаще всего входили в систему.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос