Python 求平均数

Python 求平均数,python,Python,对于任务,我需要每个人的平均分数,因此,如果Dan在一行中得分为5,在另一行中得分为7,那么他将显示为平均分为6。平均分是我需要排序和显示的。 因此,我必须将其排序到人们获得的最高平均分,再排序到最低平均分,然后用python显示排序后的版本。我要排序的文件中有一个看起来像这样 鲍勃:0 鲍勃:1 简:9 德雷克:8 丹:4 乔希:1 丹:5 如何在python上做到这一点?我投票决定将这个问题作为离题题来结束,因为SO不是一项代码编写服务,请说明您的编码努力、错误和期望的输出。我给了它,它将计

对于任务,我需要每个人的平均分数,因此,如果Dan在一行中得分为5,在另一行中得分为7,那么他将显示为平均分为6。平均分是我需要排序和显示的。 因此,我必须将其排序到人们获得的最高平均分,再排序到最低平均分,然后用python显示排序后的版本。我要排序的文件中有一个看起来像这样

鲍勃:0
鲍勃:1
简:9
德雷克:8
丹:4
乔希:1
丹:5


如何在python上做到这一点?

我投票决定将这个问题作为离题题来结束,因为SO不是一项代码编写服务,请说明您的编码努力、错误和期望的输出。我给了它,它将计入我在学校的期末成绩。我的老师没有教我怎么做,也没有教我们做任何与上述任务有关的事情。我班上没有人知道怎么做,我花了很多时间在谷歌上搜索、阅读编码演练,但仍然没有任何想法,所以我问了这个问题。对不起,如果这是不可能的。请谷歌“文件阅读python+Stackoverflow”你会看到一些有用的链接。这是重复的,我刚刚回答了一个小问题,我不知道它的意思。ds=sorted(d.iterkeys(),key=lambda k:d[k]['score'],reverse=True)AttributeError:'dict'对象没有属性'iterkeys'。这意味着您提供的示例输入没有准确描述实际输入文件的外观。我不确定为什么会是名称、冒号、空格、分数、空格,/每行10个上传你的输入文件到某个地方并发布链接这是一个基本的表单(它应该在两个文件上工作,这些文件有不同的名字、分数和人数。每行看起来都像这个名字、冒号、空格、分数、空格,/10)Janet:8/10下一行Chris:10/10下一行Janet:4/10下一行Chris:1/10下一行Trevor:2/10下一行Chris:7/10下一行Trevor:3/10下一行放在记事本里
d = {}
with open('in.txt') as f:
    data = f.readlines()
for x in data:
    x = x.strip()
    if not x:
        continue
    name = x.split(':')[0].strip()
    score = int(x.split(':')[-1].split('/')[0].strip())
    if name not in d:
        d[name] = {}
        d[name]['score'] = 0
        d[name]['count'] = 0
    d[name]['count'] += 1
    d[name]['score'] = (d[name]['score'] + score) / float(d[name]['count'])

ds = sorted(d.keys(), key=lambda k: d[k]['score'], reverse=True)

for x in ds:
    print('{0}: {1}'.format(x, d[x]['score']))