Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 分数分析代码_Python_Python 3.x - Fatal编程技术网

Python 分数分析代码

Python 分数分析代码,python,python-3.x,Python,Python 3.x,我们在两级词典中表示一系列比赛中击球手的得分,如下所示: {'match1':{'player1':57, 'player2':38}, 'match2':{'player3':9, 'player1':42}, 'match3':{'player2':41, 'player4':63, 'player3':91} 每场比赛都由一个字符串标识,每个球员也是如此。分数都是整数。与比赛相关的名字不是固定的(这里是'match1'、'match2'、'match3'),球员的名字也不是固定的。球员不

我们在两级词典中表示一系列比赛中击球手的得分,如下所示:

{'match1':{'player1':57, 'player2':38}, 'match2':{'player3':9, 'player1':42}, 'match3':{'player2':41, 'player4':63, 'player3':91}
每场比赛都由一个字符串标识,每个球员也是如此。分数都是整数。与比赛相关的名字不是固定的(这里是'match1'、'match2'、'match3'),球员的名字也不是固定的。球员不需要在所有比赛中都记录分数

定义一个Python函数“orangecap(d)”,该函数读取这种形式的字典d并识别总分最高的玩家。函数应该返回一对(playername,topscore),其中playername是一个字符串,是得分最高的玩家的名字,topscore是一个整数,即playername的总分

输入将确保最高总分不会有任何联系

例如:

>>> orangecap({'match1':{'player1':57, 'player2':38}, 'match2':{'player3':9, 'player1':42}, 'match3':{'player2':41, 'player4':63, 'player3':91}})
('player3', 100)

>>> orangecap({'test1':{'Ashwin':84, 'Kohli':120}, 'test2':{'ashwin':59, 'Pujara':42}})
('Kohli', 120)

使用“get”方法返回默认值零,然后添加。像这样:

adict = {'match1':{'player1':57, 'player2':38},
        'match2':{'player3':9, 'player1':42},
        'match3':{'player2':41, 'player4':63, 'player3':91}}

def orangecap(dict1):
    dict2 = {}
    for k1 in dict1:
        for k2 in dict1[k1]:
            dict2[k2] = dict2.get(k2, 0) + dict1[k1][k2]
    player = max(dict2, key=dict2.get)
    return player, dict2[player]

print (orangecap(adict))


>>> adict = {'match1':{'player1':57, 'player2':38},
        'match2':{'player3':9, 'player1':42},
        'match3':{'player2':41, 'player4':63, 'player3':91}}


>>> print (orangecap(adict))
('player3', 100)
>>> 

那么您到底面临什么问题呢?堆栈溢出不是一种代码压缩服务。如果你希望有人帮你做家庭作业,那你(希望)就倒霉了。相反,你应该试着自己解决这个问题。如果您遇到问题,请向我们描述,我们将很乐意帮助您找出问题所在以及如何解决问题。