bl00dt3ars

11. SoftUni Exam Results (Александър Куманов)

Jul 18th, 2021 (edited)
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.21 KB | None | 0 0
  1. def submissions_count(field, temp_dict):
  2.     if field not in temp_dict:
  3.         temp_dict[field] = 1
  4.     else:
  5.         temp_dict[field] += 1
  6.  
  7.  
  8. def add_stats(user, points, my_dict):
  9.     if user not in my_dict.keys():
  10.         my_dict[user] = [points]
  11.     else:
  12.         for student, information in my_dict.items():
  13.             if student == user:
  14.                 if information[0] < points:
  15.                     information[0] = points
  16.                     break
  17.  
  18.  
  19. def banned(user, my_dict):
  20.     my_dict.pop(user)
  21.  
  22.  
  23. stats = {}
  24. languages = {}
  25.  
  26. while True:
  27.     data = input()
  28.     if data == "exam finished":
  29.         break
  30.     else:
  31.         data = data.split("-")
  32.         if "banned" in data:
  33.             name = data[0]
  34.             banned(name, stats)
  35.         else:
  36.             name = data[0]
  37.             language = data[1]
  38.             result = int(data[2])
  39.             add_stats(name, result, stats)
  40.             submissions_count(language, languages)
  41.  
  42. print('Results:')
  43. [print(f"{key} | {value[0]}") for key, value in sorted(stats.items(), key=lambda kvp: (-kvp[1][0], kvp[0]))]
  44. print("Submissions:")
  45. [print(f"{key} - {value}") for key, value in sorted(languages.items(), key=lambda kvp: (-kvp[1], kvp[0]))]
Add Comment
Please, Sign In to add comment