Ошибка в ответе, который выдает программа
Система, принимающая задачи, не принимает мое решение, выдает ошибку. Не могу понять, что не так. Программа запускается нормально. P.S. в исходном варианте программы у меня в первой строке написано def task2() и task2() в конце, здесь это не записал. Заранее благодарю.
'''
n = int(input())
commands = {}
for i in range(n):
command, score = input().split("\t")
command1, command2 = command.split('-')
score1, score2 = map(int, score.split(':'))
if command1 not in commands:
commands[command1] = [0, 0, 0]
if command2 not in commands:
commands[command2] = [0, 0, 0]
commands[command1][0] += score1 # Забили
commands[command2][0] += score2
commands[command1][1] += score2 # Пропустили
commands[command2][1] += score1
# Очки
if score1 == score2:
commands[command1][2] += 1
commands[command2][2] += 1
elif score1 < score2:
commands[command2][2] += 3
elif score1 > score2:
commands[command1][2] += 3
def func1(item):
return commands[item][2]
def func2(item):
return commands[item][0]
def func3(item):
return commands[item][0] - commands[item][1]
commands_list = list(commands.keys())
commands_list.sort()
commands_list.sort(key=func3, reverse=True)
commands_list.sort(key=func2, reverse=True)
commands_list.sort(key=func1, reverse=True)
for command in commands_list:
win, lose, score = commands[command]
print(f"{command}\t{score}\t{win}:{lose}")
'''
Ответы (1 шт):
Автор решения: Shap
→ Ссылка
Дело, как минимум, в неверном порядке сортировки. Сортировки по func3 и func2 необходимо поменять местами: вначале сортировать по забитым мячам, и лишь потом по разнице мячей
commands_list.sort()
commands_list.sort(key=func2, reverse=True) # забито
commands_list.sort(key=func3, reverse=True) # разница по мячам
commands_list.sort(key=func1, reverse=True)
