python成绩统计(优化版)

xiaoxiao2021-02-28  135

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

#!/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]   这个真心好用啊,简化了我上篇文章代码的很多操作,变量也不需要那么多了!

转载请注明原文地址: https://www.6miu.com/read-24922.html

最新回复(0)