Advertisement
exDotaPro

message_manager

Aug 5th, 2020
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.20 KB | None | 0 0
  1. users = dict()
  2.  
  3. limit = int(input())
  4.  
  5. while True:
  6.     line = input().split('=')
  7.     command = line[0]
  8.  
  9.     if command == 'Statistics':
  10.         break
  11.  
  12.     if command == 'Add':
  13.         name, sent, received = line[1], int(line[2]), int(line[3])
  14.         if name not in users:
  15.             users[name] = [0, 0]
  16.         users[name][0] += sent
  17.         users[name][1] += received
  18.     elif command == 'Message':
  19.         sender, receiver = line[1], line[2]
  20.         if sender in users and receiver in users:
  21.             users[sender][0] += 1
  22.             users[receiver][1] += 1
  23.             if sum(users[sender]) >= limit:
  24.                 print(f'{sender} reached the capacity!')
  25.                 del users[sender]
  26.             if sum(users[receiver]) >= limit:
  27.                 print(f'{receiver} reached the capacity!')
  28.                 del users[receiver]
  29.     elif command == 'Empty':
  30.         name = line[1]
  31.         if name == 'All':
  32.             users.clear()
  33.         elif name in users:
  34.             del users[name]
  35.  
  36. print(f'Users count: {len(users)}')
  37. users = {k: v for k, v in sorted(users.items(), key=lambda x: (-x[1][1], x[0]))}
  38. for user, mails in users.items():
  39.     print(f'{user} - {sum(mails)}')
  40.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement