Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 03. MOBA Challenger
- users = {}
- while True:
- line = input()
- if line == 'Season end':
- break
- if ' vs ' in line:
- player_one, player_two = line.split(' vs ')
- lose_plaer = None
- lose_skill = None
- # Проверка дали двамата потребителя ги има в дикшинарито
- if player_one in users and player_two in users:
- for p1 in users[player_one]:
- for p2 in users[player_two]:
- # Проверка дали двамата потребителя имат еднакви склилове за турнир
- if p1 == p2:
- if users[player_one][p1] == users[player_two][p1]:
- break
- elif users[player_one][p1] > users[player_two][p1]:
- lose_plaer = player_two
- lose_skill = p1
- break
- elif users[player_one][p1] < users[player_two][p1]:
- lose_plaer = player_one
- lose_skill = p1
- break
- # Изтривам данните извън цикъла, затова са и горните променливи: lose_plaer, lose_skill
- if lose_plaer is not None:
- del users[lose_plaer][lose_skill]
- lose_plaer = None
- lose_skill = None
- elif ' -> ' in line:
- player, position, skill = line.split(' -> ')
- skill = int(skill)
- # Дали потребителя го има на масата
- if player not in users:
- users[player] = {position: skill}
- # Дали потребителя го има на масата и ако да дали скила е по-малък от новият
- elif player in users and position in users[player] and skill > users[player][position]:
- users[player][position] = skill
- # Тука май бъркам нещо
- else:
- users[player].update({position: skill})
- # Result
- for player, totalSkill in sorted(users.items(), key=lambda x: (-sum(i for i in x[1].values()), x[0])):
- if len(users[player]) == 0:
- continue
- else:
- print(f'{player}: {sum(totalSkill.values())} skill')
- for user, skill in sorted(users[player].items(), key=lambda x: (-x[1], x[0])):
- print(f'- {user} <::> {skill}')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement