全国计算机二级Python第18套-综合应用-46-问题1

某班学生评选-等奖学金,学生的10门主干课成绩存在考生文件夹下文件score.txt中,每行为一个学生的
信息,分别记录了学生学号、姓名以及10门课成绩,格式如下:
1820161043郑珉镐68 66 837756 73 6169 66 78
1820161044沈红伟91 7081 91 9680 7891 89 94
从这些学生中选出奖学金候选人,条件是:
总成绩排名在前10名;
全部课程及格(成绩大于等于60)。
问题1:给出按总成绩从高到低排序的前10名学生名单,并写入文件candidate0.txt,每行记录一个学生的
信息,分别为学生学号、姓名以及10门课成绩。补充考生文件夹下文件PY301-1.py,完成这-功能。
问题2:读取文件candidate0.txt,从中选出候选人,并将学号和姓名写入文件candidate.txt,格式如下:
1010112161722张三
1010112161728李四
补充考生文件夹下文件PY301-2.py,完成这一功能。

参考答案


L=[]#L中的元素是学生原始成绩和总成绩

#[['1820161043', '郑珉镐', '68', '66', '83', '77', 697],[],[]]

fi = open("score.txt","r")#此处可多行

fo = open("candidate0.txt","w")

lines = fi.readlines()

fi.close()

for line in lines:

#学生

st = line.strip().split()

sm = 0#总成绩

for i in range(1,11):#1,2,3,4,..10

sm += int(st[-i])

st.append(sm)

L.append(st)

L.sort(key=lambda x:x[-1],reverse=True)   #按学生总成绩从大到小排序

for i in range(10):  #此处可多行

fo.write(" ".join(L[i][:-1])+"\n")

fo.close()


转载请注明:文章转载自 阿福课堂 https://www.afuketang.com
阿福课堂官方网站》免责声明:
1、因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
2、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:1225682794@qq.com。
历年真题

全国计算机二级Python第18套-简单应用-45

2024-4-23 9:31:50

历年真题

全国计算机二级Python第18套-综合应用-46-问题2

2024-4-23 9:36:57

个人中心
购物车
优惠劵
今日签到
搜索