2017-03-04 38 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')