Skip to content

Commit 191c915

Browse files
author
Alexey Chernykh
committed
исправление замечаний, немного поменял алгоритм
1 parent fb5366d commit 191c915

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

for_dict_challenges_bonus.py

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -58,27 +58,30 @@ def generate_chat_history():
5858

5959
# 1. Вывести айди пользователя, который написал больше всех сообщений.
6060
def is_user_with_max_messages(messages):
61-
id_list = []
61+
# 1. Generate a list of unique id of users who have sent messages
62+
user_id_list_who_sent_messages = []
6263
for message in messages:
63-
id_list.append(message["sent_by"])
64-
uniq_id_list = list(set(id_list))
65-
66-
count_of_message_id = {}
67-
for id_uniq in uniq_id_list:
68-
counter = 0
69-
for id in id_list:
70-
if id_uniq == id:
71-
counter += 1
72-
count_of_message_id[id_uniq] = counter
64+
user_id_list_who_sent_messages.append(message["sent_by"])
65+
unique_user_id_list_who_sent_messages = list(set(user_id_list_who_sent_messages))
66+
67+
# 2. Generate a list of dictionaries with user id and sum of messages sent by them
68+
user_id_sum_of_messages = []
69+
for user_id in unique_user_id_list_who_sent_messages:
70+
user_id_sum_of_messages.append({
71+
"user_id": user_id_list_who_sent_messages.count(user_id),
72+
})
7373

74-
count_of_message_id_sorted = dict(sorted(count_of_message_id.items(), key=lambda item: item[1], reverse=True))
75-
count_of_message_id_sorted_list = [id for id in count_of_message_id_sorted]
76-
return count_of_message_id_sorted_list[0]
74+
# 3. Put in a variable the user with the maximum number of messages sent
75+
user_with_max_messages = max(user_id_sum_of_messages, key=lambda x: x["user_id"])
7776

77+
return user_with_max_messages
7878

79-
if __name__ == "__main__":
80-
messages = generate_chat_history()
81-
print(is_user_with_max_messages(messages))
8279

80+
# 2. Вывести айди пользователя, на сообщения которого больше всего отвечали.
81+
def is_user_with_max_reply_messages(messages):
82+
pass
8383

8484

85+
if __name__ == "__main__":
86+
messages = generate_chat_history()
87+
print(is_user_with_max_messages(messages)['user_id'])

0 commit comments

Comments
 (0)