python成绩统计(优化版)

本文介绍了一个简单的学生分数管理系统,使用Python实现。系统可以记录学生姓名及分数,并提供平均分、最高分和最低分的统计功能。

接上篇文章,自己再简化了下代码,仅供参考!

#!/usr/bin/env Python
#coding:utf-8
#352-01.py
a=1
n1=raw_input("please input number of student:")
n=int(n1)
dd={}
while a<=n:
i=raw_input("please input student name:")
j=raw_input("please input score for %s:"% i)
dd[i]=int(j)
a+=1
  
print"it is the message you input",dd


def average_score(x):
score_values=x.values()
sum_score=sum(score_values)
return sum_score/len(score_values)


def sorted_score(y):
score_list=[(y[k],k) for k in y]
score_sorted=sorted(score_list,reverse=True)
return [(k[1],k[0]) for k in score_sorted]


def max_score(m):
m1=sorted_score(m)
score_max=m1[0][1]
return [k for k in m1 if k[1]==score_max]


def min_score(z):
z1=sorted_score(z)
score_min=z1[len(z1)-1][1]
return [k for k in z1 if k[1]==score_min]


if __name__=="__main__":
pjf=average_score(dd)
print"全班的平均分数为%d"% pjf
sx=sorted_score(dd)
print"全班分数由高到低的顺序为:",sx
gf=max_score(dd)
print"学霸及其成绩:",gf
df=min_score(dd)
print"学渣,你出名了:",df

这个代码相对就简化好多了。



[(k[x],k[x) for k in list]   这个真心好用啊,简化了我上篇文章代码的很多操作,变量也不需要那么多了!









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值