我试着按学生对一个班的平均成绩进行排序,从高到低。在
以下是我目前为止的代码:with open("class.txt") as f:
d = {}
for line in f:
column = line.split(":")
names = column[0]
scores = int(column[1].strip())
count = 0
while count < 3:
d.setdefault(names, []).append(scores)
count = count + 1
for names, v in sorted(d.items()):
average = (sum(v)/len(v))
print(names,average)
averages=[]
averages.append(average)
我已经算出了平均数,但我一直在想如何将这些平均数从高到低排序,下面是我尝试过的方法
^{pr2}$
但是,它给出了错误。。在TypeError: 'float' object is not subscriptable
我还注意到,它不是只计算最后三个分数的平均值,而是计算出文本文件中学生所有分数的平均值,但是我希望它只计算出每个学生最近的三个分数
我对Python还不太熟悉,我不知道我做错了什么,所以如果有任何帮助,请提前谢谢!在