2017-03-04 34 views
-1

这里有一些关于网球得分的基本事实: 网球比赛是由一组组成。一套是由游戏组成的。设置问题找到在没有设置案例的赢家

要赢得一套,玩家必须赢得6场比赛,其中2场比赛的差异。在6-6,经常会有一个特殊的决胜局。在某些情况下,球员继续比赛,直到其中一人以两场比赛的差距赢得比赛。网球比赛可以是3组或5组。赢得大多数组的选手赢得比赛(即,3组中的2组或3组中的2组) 比赛的比分列出每组中的比赛,并且每组的总优胜者得分首先报告。因此,如果得分是6-3,5-7,7-6,则意味着第一个球员以6场比赛赢得第一组3场比赛,第二场比赛中失去了5场比赛,并且以7比6赢得了第三场比赛, (并因此赢得整场比赛以及2比1)。

您将读取包含多个网球比赛结果的键盘输入(标准输入)。每个匹配的得分被记录在具有下列格式的单独的行:

优胜者:失败者:设置-1-得分,...,SET-K-得分,其中2 < = K < = 5

例如,形式的输入线

威廉姆斯:Muguruza:3-6,6-3,6-3

表示威廉姆斯在打Muguruza 3-6,6-3,6-3三盘比赛中最好的。

输入以空行结束。

你必须写一个Python程序,读取所有比赛信息和编译每个球员如下统计:

最佳的5组匹配的数目赢得 最佳的3集数比赛赢了 的份数赢得 游戏人数赢得 的份数失去 游戏人数失去

根据排名,你应该打印输出到屏幕(标准输出)排名的递减顺序汇总以该顺序的标准1-6(比较项目1,如果相等) mpare第2项,如果相等,比较第3项等,注意项目5和6的比较结果相反)。

例如,给定以下数据

德约科维奇:默里:2-6,6-7,7-6,6-3,6-1 默里:德约科维奇:6-3,4-6 ,6-4,6-3 德约科维奇:穆雷:6-0,7-6,6-7,6-3 穆雷:德约科维奇:6-4,6-4 德约科维奇:穆雷:2-6,6 -2,6-0 Murray:德约科维奇:6-3,4-6,6-3,6-4 德约科维奇:穆雷:7-6,4-6,7-6,2-6,6-2 穆雷:德约科维奇:7-5,7-5 威廉姆斯:Muguruza:3-6,6-3,6-3

你的程序应该打印出以下

德约科维奇3 1 13 142 16 143 默里2 2 16 143 13 142 威廉姆斯0 1 2 15 1 12 Muguruza 0 0 1 12 2 15

可以假定周围有标点没有空格标记“:”,“ - ”和“,”。每名球员的姓名将拼写一致,没有两名球员有相同的名字。

+1

为什么你在这里发布你的作业? – Okas

+0

bcoz我没有想法解决这个问题 –

回答

0
def setswon(s): 
     m=len(s) 
     count=0 
     for i in range(0,m,4): 
       if s[i]>s[i+2]: 
         count+=1 
     print(count) 
def setslost(s): 
     m=len(s) 
     count=0 
     for i in range(0,m,4): 
       if s[i]<s[i+2]: 
         count+=1 
     print(count) 
def gameswon(s): 
     m=len(s) 
     won=0 
     for i in range(0,m,4): 
       won=won,s[i] 
     print(won) 
def gameslost(s): 
     m=len(s) 
     lost=0 
     for i in range(2,m,4): 
       lost=lost,s[i] 
     print(lost) 
players=dict() 
contents=list() 
from sys import stdin 
for line in stdin: 
     if line == "\n": 
       break 
     else: 
       contents.append(line) 
     count15=0 
     count25=0 
     count13=0 
     count23=0 
     p=0 
     q=0 
     r=0 
     s=0 
     x=[] 
     y=[] 
     player1,player2,score=line.split(':') 
     if len(score)<=12: 
       count15=1 
       count25=0 
     elif len(score)<=12: 
       count13=0 
       count23=0 
     p=setswon(score) 
     q=setslost(score) 
     r=gameswon(score) 
     s=gameslost(score) 
     x=[count15,count13,p,r,q,s] 
     y=[count25,count23,q,s,p,r] 
     if not players=='{}': 
       players[player1]=x 
       players[player2]=y 
     else: 
       for value in players.keys(): 
         if player1==value: 
           players[value][0]+=1 
           players[value][1]+=1 
           players[value][2]+=1 
           players[value][3]+=1 
           players[value][4]+=1 
           players[value][5]+=1 
         elif player2==value: 
           players[value][0]+=1 
           players[value][1]+=1 
           players[value][2]+=1 
           players[value][3]+=1 
           players[value][4]+=1 
           players[value][5]+=1 
         else: 
           players[player1]=x 
           players[player2]=y 
       for value in players.keys(): 
         print(value[i]) 
         for i in range(0,6): 
           print(value[i]) 
         print('\n')