Предмет: Информатика, автор: kirilbryzgalova

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

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

За победу команде начисляется 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()

Ответы

Автор ответа: UkraineTopQQE
0

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:

   if game_one[1] > game_one[2]:

       tbl[game_one][1] += 1

       tbl[game_one][3] += 3

       tbl[game_one[4]][4] += 1

   elif game_one[1] < game_one[2]:

       tbl[game_one[4]][1] += 1

       tbl[game_one[4]][3] += 3

       tbl[game_one][4] += 1

   else:

       tbl[game_one][2] += 1

       tbl[game_one][3] += 1

       tbl[game_one[4]][2] += 1

       tbl[game_one[4]][3] += 1

for k in tbl:

   print(k, end="")

   print(":", end="")

   for i in tbl[k]:

       print(i, end=" ")

   print()

Похожие вопросы
Предмет: Русский язык, автор: znania40395
Предмет: Математика, автор: pusossosu434