编程处理n个学生m门课程的成绩。课程名称,
学生的学号、姓名、各课程成绩及n和m的值均从键盘接收。计算每个学生的平均分,并按平均分降序输出成绩表(二维表形式)。
要求:
1)分别用3个自定义函数实现输入、计算平均分
及排序、输出三大功能。在主程序中调用这些函数完成题目要求。
2)键盘输入的数据保存到“原始数据.txt"”文件,计算平均分及排序的函数从文件读取数据,输出结果保存到"输出结果.txt"文件。
f.write("xh xm")
for k in range(m):
mc = input("请输入第" + str(k + 1) + "门课程名称:")
lititle.append(mc)
f.write(mc+"")
f.write("\n")
for j in range(n):
xh= input("请输入学号:")
f.write(xh+"")
xm= input("请输入姓名:")
f.write(xm+"")
for i in range(m):
cj=input("请输入 " + xm + " 的 " + lititle[i + 2] + " 成绩:")
f.write(cj+"")
f.write("\n")
return list1=f.readlines()
str1=list1[0].rstrip("\n") str2=list1[i].rstrip("\n")
list3=str2.split()
astu=dict(zip(list2,list3))
allstul.append(astu)
for p in allstul: s = 0
for key,value in p.items():
if key not in ["xh","xm"]:
s=s+int(value)
aver=round(s/len(p)-2,1)
p["aver"]=aver
allstul.sort(key=lambda x: x["aver"], reverse=True) print("{:<8}".format(key), end='')
print('') for key, value in q.items():
print("{:<8}".format(value), end='')
print('')
f=input("请输入文件名:")