问题描述:
python计算机二级综合应用,统计班级平均分。
问题解答:
本人写的答案可能比准确答案笨拙,仅提供一种解决思路。
第一问:
#
# 请在此文件作答
#
f_data = open('data.txt', 'r')
f_studs = open('studs.txt', 'w')
lines = f_data.readlines()
for line in lines:
line=line.strip()
s1=line.split(":")[0]
s2=line.split(",")[1]
s=s1+":"+s2+"\n"
f_studs.write(s)
f_data.close()
f_studs.close()
第二问:
#
# 请在此文件作答
#
f_studs = open('studs.txt', 'r')
lines=f_studs.readlines()
ls=[]
for line in lines:
line=line.strip()
line=line.split(":")
ls.append(line)
ls.sort(key = lambda x:eval(x[1]),reverse=True )
print(ls[0][0]+":"+ls[0][1])
f_studs.close()
第三问:
#
# 请在此文件作答
#
f_data = open('data.txt', 'r')
lines = f_data.readlines()
ls=[]
d={}
for line in lines:
line=line.strip()
s=line.split(":")[1]
s=s.split(",")
ls.append(s)
for i in ls:
d[i[0]]=d.get(i[0],[])+[eval(i[1])]
for i in d:
avg_score=sum(d[i])/len(d[i])
print(i,end=":")
print("{:.2f}".format(avg_score))
f_data.close()