Предмет: Информатика,
автор: 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()
Ответы
Автор ответа:
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()
Похожие вопросы
Предмет: Русский язык,
автор: amirsalbaev
Предмет: Математика,
автор: zhulanartem
Предмет: Русский язык,
автор: znania40395
Предмет: Геометрия,
автор: Аноним
Предмет: Математика,
автор: pusossosu434