Advertisement
viligen

exam_results

Nov 7th, 2021
1,267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.81 KB | None | 0 0
  1. users = {}
  2. submissions = {}
  3.  
  4. while True:
  5.     data = input().split("-")
  6.  
  7.     if "exam finished" in data:
  8.         break
  9.     elif "banned" in data:
  10.         name = data[0]
  11.         if name in users:
  12.             del users[name]
  13.     else:
  14.         name, language, points = data
  15.         points = int(points)
  16.         if language not in submissions:
  17.             submissions[language] = 0
  18.         submissions[language] += 1
  19.         if name not in users or users[name] < points:
  20.             users[name] = points
  21.  
  22. sorted_users = sorted(users.items(), key=lambda kvp: (-kvp[1], kvp[0]))
  23. sorted_submissions = sorted(submissions.items(), key=lambda kvp: (-kvp[1], kvp[0]))
  24. print("Results:")
  25. for k, v in sorted_users:
  26.     print(f"{k} | {v}")
  27. print("Submissions:")
  28. for k, v in sorted_submissions:
  29.     print(f"{k} - {v}")
  30.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement