Программа таблица результатов матчей

Напишите программу, которая принимает на стандартный вход список игр футбольных команд с результатом матча и выводит на стандартный вывод сводную таблицу результатов всех матчей.

За победу команде начисляется 3 очка, за поражение — 0, за ничью — 1.

Формат ввода следующий:
В первой строке указано целое число n — количество завершенных игр.
После этого идет n строк, в которых записаны результаты игры в следующем формате:
Первая_команда;Забито_первой_командой;Вторая_команда;Забито_второй_командой

Вывод программы необходимо оформить следующим образом:
Команда:Всего_игр Побед Ничьих Поражений Всего_очков

Конкретный пример ввода-вывода приведён ниже.
Порядок вывода команд произвольный.

Sample Input:
3
Спартак;9;Зенит;10
Локомотив;12;Зенит;3
Спартак;8;Локомотив;15

Sample Output:
Спартак:2 0 0 2 0
Зенит:2 1 0 1 3
Локомотив:2 2 0 0 6


Мой код:

n = int(input())
game = [] # формируем список состоявшихся игр
team = set() # множество команд

while n > 0:
str = input().split(';')
team.update(set(str[::2]))
game.append(str)
n -= 1
# формируем турнирную таблицу
tbl = {}
for i in team:
tbl[i] = [0, 0, 0, 0, 0]

for game_one in game:
# кол-во проведенных игр
tbl[game_one[0]][0] += 1
tbl[game_one[2]][0] += 1

if game_one[1] < game_one[3]:
tbl[game_one[2]][3] += 1 # 1 команда проиграла
tbl[game_one[0]][1] += 1 # 2 команда выиграла
elif game_one[1] > game_one[3]:
tbl[game_one[2]][1] += 1 # 1 команда выиграла
tbl[game_one[0]][3] += 1 # 2 команда проиграла

elif game_one[1] < game_one[3]:
tbl[game_one[2]][3] += 1 # 1 команда проиграла
tbl[game_one[0]][1] += 1 # 2 команда выиграла

for k in tbl:
tbl[k][4] = tbl[k][1] * 3 + tbl[k][2] * 1
print(k, end="")
print(":", end="")
for i in tbl[k]:
print(i, end=" ")
print()
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Answers & Comments


Copyright © 2024 SCHOLAR.TIPS - All rights reserved.