Нужны идеи, чтобы решить эту проблему, пожалуйста, помогите мне, я пробовал только для одной строки ввода
Вот некоторые основные факты о подсчете очков в теннисе: теннисный матч состоит из сетов. Набор состоит из игр.
Чтобы выиграть сет, игрок должен выиграть 6 игр с разницей в 2 игры. В 6-6 часто есть специальный тай-брейк. В некоторых случаях игроки продолжают играть до тех пор, пока один из них не выиграет сет с разницей в две партии.
Теннисные матчи могут быть как 3 сета, так и 5 сетов. Игрок, выигравший большинство сетов, выигрывает матч (то есть 2 из 3 сетов или 3 из 5 сетов) Счет матча перечисляет игры в каждом сете, причем общий счет победителя сообщается первым для каждого сета. Таким образом, если счет 6-3, 5-7, 7-6, то это означает, что первый игрок выиграл первый сет 6 геймов к 3, проиграл второй 5 геймов к 7 и выиграл третий 7 геймов к 6 (и, следовательно, выиграл общий матч также 2 сета к 1).
Вы будете читать ввод с клавиатуры (стандартный ввод), содержащий результаты нескольких теннисных матчей. Счет каждого матча записывается в отдельную строку следующего формата:
Победитель:неудачник:набор-1 балл,...,набор-к-Результат, где 2 ≤ к ≤ 5
Например, входная строка формы
Halep:Wozniacki:3-6,6-3,6-3
указывает на то, что Халеп обыграла Возняцки 3-6, 6-3, 6-3 в лучшем из 3-х сетов матче.
Ввод заканчивается пустой строкой.
Вы должны написать программу на Python, которая считывает информацию обо всех матчах и составляет следующую статистику для каждого игрока:
Количество выигранных матчей с лучшим из 5 сетов
Количество выигранных матчей с лучшим из 3-х сетов
Количество выигранных сетов
Количество выигранных игр
Количество потерянных наборов
Количество проигранных игр
Вы должны распечатать на экран (стандартный вывод) сводку в порядке убывания ранжирования, где ранжирование происходит в соответствии с критериями 1-6 в этом порядке (сравните пункт 1, Если равно сравните пункт 2, Если равно сравните пункт 3 и т.д., отметив, что для пунктов 5 и 6 сравнение обратное).
Например, учитывая следующие данные
Federer:Nadal:2-6,6-7,7-6,6-3,6-1 Nadal:Federer:6-3,4-6,6-4,6-3 Federer:Nadal:6-0,7-6,6-7,6-3 Nadal:Federer:6-4,6-4 Federer:Nadal:2-6,6-2,6-0 Nadal:Federer:6-3,4-6,6-3,6-4 Federer:Nadal:7-6,4-6,7-6,2-6,6-2 Nadal:Federer:7-5,7-5 Halep:Wozniacki:3-6,6-3,6-3
ваша программа должна распечатать следующее
Federer 3 1 13 142 16 143 Nadal 2 2 16 143 13 142 Halep 0 1 2 15 1 12 Wozniacki 0 0 1 12 2 15
Что я уже пробовал:
players={} contents=[] while (True): s=input() if len(s)==0: break s=s.split(':') scores=s[2].split(',') if s[0] not in players: players[s[0]]=[] for i in range(0,6): players[s[0]].append(0) if s[1] not in players: players[s[1]]=[] for i in range(0,6): players[s[1]].append(0) if len(scores)>3: players[s[0]][0]+=1 else: players[s[0]][1]+=1 for gset in scores: if gset[0]>gset[2]: players[s[0]][2]+=1 players[s[1]][4]+=1 if gset[0]<gset[2]: players[s[0]][4]+=1 players[s[1]][2]+=1 players[s[0]][3]+=int(gset[0]) players[s[1]][3]+=int(gset[2]) players[s[0]][5]+=int(gset[2]) players[s[1]][5]+=int(gset[0])
как Сортировать по заданной задаче плз подскажите