Advertisement
Guest User

Untitled

a guest
Aug 1st, 2020
579
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. # 03. MOBA Challenger
  2. users = {}
  3.  
  4. while True:
  5. line = input()
  6. if line == 'Season end':
  7. break
  8.  
  9. if ' vs ' in line:
  10. player_one, player_two = line.split(' vs ')
  11. lose_plaer = None
  12. lose_skill = None
  13. # Проверка дали двамата потребителя ги има в дикшинарито
  14. if player_one in users and player_two in users:
  15. for p1 in users[player_one]:
  16. for p2 in users[player_two]:
  17. # Проверка дали двамата потребителя имат еднакви склилове за турнир
  18. if p1 == p2:
  19. if users[player_one][p1] == users[player_two][p1]:
  20. break
  21.  
  22. elif users[player_one][p1] > users[player_two][p1]:
  23. lose_plaer = player_two
  24. lose_skill = p1
  25. break
  26.  
  27. elif users[player_one][p1] < users[player_two][p1]:
  28. lose_plaer = player_one
  29. lose_skill = p1
  30. break
  31.  
  32. # Изтривам данните извън цикъла, затова са и горните променливи: lose_plaer, lose_skill
  33. if lose_plaer is not None:
  34. del users[lose_plaer][lose_skill]
  35. lose_plaer = None
  36. lose_skill = None
  37.  
  38. elif ' -> ' in line:
  39. player, position, skill = line.split(' -> ')
  40. skill = int(skill)
  41. # Дали потребителя го има на масата
  42. if player not in users:
  43. users[player] = {position: skill}
  44.  
  45. # Дали потребителя го има на масата и ако да дали скила е по-малък от новият
  46. elif player in users and position in users[player] and skill > users[player][position]:
  47. users[player][position] = skill
  48.  
  49. # Тука май бъркам нещо
  50. else:
  51. users[player].update({position: skill})
  52.  
  53.  
  54. # Result
  55. for player, totalSkill in sorted(users.items(), key=lambda x: (-sum(i for i in x[1].values()), x[0])):
  56. if len(users[player]) == 0:
  57. continue
  58. else:
  59. print(f'{player}: {sum(totalSkill.values())} skill')
  60. for user, skill in sorted(users[player].items(), key=lambda x: (-x[1], x[0])):
  61. print(f'- {user} <::> {skill}')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement