python统计考试成绩代码参考

xiaoxiao2021-02-27  247

统计一个班级学生的考试成绩,首先需要录入学生及其考试成绩。选出最高分,平均分,分数由高到低进行排序。评出学霸和学渣!

我的代码如下:

#!/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]=j a+=1    print"it is the message you input",dd def ave(x): x1=x.values() s6=0 for o in x1: s6=s6+int(o) x3=len(x1) x4=s6/x3 return x4 def shunxu(x): y1=[] for k in x: y2=(x[k],k) y1.append(y2) y3=sorted(y1,reverse=True) y5=[] for k1 in y3: y4=(k1[1],k1[0]) y5.append(y4) return y5 def maxx(x): z1=shunxu(x)#引用分数排列shunxu函数 z2=z1[0][1] z3=[] for k3 in z1: if k3[1]==z2: z3.append((k3[0],k3[1])) return z3 def minx(x): s1=shunxu(x) s2=s1[len(s1)-1][1] s3=[] for k4 in s1: if k4[1]==s2: s3.append((k4[0],k4[1])) return s3 if __name__=="__main__": ave1=ave(dd) print "平均成绩为",ave1 shunxu1=shunxu(dd) print "分数从高到低进行排序",shunxu1 maxx1=maxx(dd) print "学霸的分数为",maxx1 minx1=minx(dd) print "学渣的分数为",minx1

个人感觉函数里引用了太多变量,很繁琐。总体简单易懂。还请各路大神指教,让代码变得简单一点。

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

最新回复(0)