@@ -58,27 +58,30 @@ def generate_chat_history():
5858
5959# 1. Вывести айди пользователя, который написал больше всех сообщений.
6060def 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