我有一个k=number of teams
,n=number of matches
输入,如下所示:
4
6
Romania 4 – 0 France
Italia 2 – 1 Rusia
France 3 – 0 Italy
Rusia 2 – 2 Romania
Romania 1 – 0 Italy
Franta 2 – 1 Rusia
我正在输出一个冠军桌(不会有得分相同的球队!):
<team> <number of points> <goals> < goals received>
必须看起来像这样:
Romania 7 7 2
France 6 5 5
Italy 3 2 5
Rusia 1 4 6
我尝试一次阅读一场比赛,并构建了一个字典,在其中修改了值,但是我意识到我的代码保留了每个团队的要点和目标,我不知道如何为以前的值添加一个值。 / p>
import operator
k=int(raw_input())
n=int(raw_input())
d={}
p=0
gi=0
gp=0
for i in range(n):
m=raw_input().split()
if m[1] > m[3]:
d.update({m[0]:[p+3,int(m[1])+gi,int(m[3])+gp]})
d.update({m[4]:[p,int(m[3])+gp,int(m[1])+gi]})
p=p+3
gi+=int(m[1])
gp+=int(m[3])
elif m[1] < m[3]:
d.update({m[0]:[p,int(m[1])+gi,int(m[3])+gp]})
d.update({m[4]:[p+3,int(m[3])+gp,int(m[1])+gi]})
p=p+3
gi+=int(m[1])
gp+=int(m[3])
else:
d.update({m[0]:[p+1,int(m[1])+gi,int(m[3])+gp]})
d.update({m[4]:[p+1,int(m[3])+gp,int(m[1])+gi]})
p=p+1
gi+=int(m[1])
gp+=int(m[3])
sorted_d=sorted(d.items(),key=operator.itemgetter(1),reverse=True)
for x in sorted_d:
print x[0],x[1][0],x[1][1],x[1][2]
其中gi are the goals given
和gp the goals received
。现在我认为他们没有用,因为我将其添加到每个团队中,我的输出还可以,但是目标和得分太多了