统计考试成绩

来源:互联网 发布:java三大框架的作用 编辑:程序博客网 时间:2024/05/17 06:41

统计考试成绩,代码清单如下:

#!/usr/bin/env Python# -*- coding: UTF-8 -*-#查询平均成绩def avg_score(sc):#avg_sc = sum(sc.values())/len(sc)return sum(sc.values())/len(sc)#成绩从高到低排序def order_score(sc):lst = [(sc[k],k) for k in sc]new_lst=sorted(lst,reverse=True)return [(i[1],i[0]) for i in new_lst]#查询成绩最高的学生和成绩def max_score(sc):lst = order_score(sc)max_sc = lst[0][1]return [(i[0],i[1])for i in lst if i[1] == max_sc] #写法1return [(k,sc[k])for k in sc if sc[k] == max_sc] #写法2return [(k,v)for k,v in sc.items() if v == max_sc] #写法3#查询成绩最差的学生和成绩def min_score(sc):lst = order_score(sc)min_sc = lst[len(lst)-1][1]return [(i[0],i[1]) for i in lst if i[1] == min_sc] #写法1return [(k,sc[k])for k in sc if sc[k] == min_sc] #写法2return [(k,v)for k,v in sc.items() if v == min_sc] #写法3#测试脚本if __name__ == '__main__':sc = {'Bital':85, 'Martin':92, 'Leeli':78}print '考试成绩单为:',sc#avg_sc = sum(sc.values())/len(sc) #可以调用函数,也可以直接计算avg_sc = avg_score(sc)print '平均成绩为:',avg_scorder_sc = order_score(sc)print '成绩从高到低依次排名为:',order_scmax_sc = max_score(sc)print '成绩最高的学生和成绩为:',max_scmin_sc = min_score(sc)print '成绩最差的学生和成绩为:',min_sc考试成绩单为: {'Martin': 92, 'Leeli': 78, 'Bital': 85}平均成绩为: 85成绩从高到低依次排名为: [('Martin', 92), ('Bital', 85), ('Leeli', 78)]成绩最高的学生和成绩为: [('Martin', 92)]成绩最差的学生和成绩为: [('Leeli', 78)]