首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某班学生评选一等奖学金,学生的10门主干课成绩存在考生文件夹下文件“score.txt”中,每行为一个学生的信息,分别记录了学生学号、姓名以及10门课成绩,格式如下。 1820161043郑珉镐68 66 83 77 56 73 61 69 66 78 1
某班学生评选一等奖学金,学生的10门主干课成绩存在考生文件夹下文件“score.txt”中,每行为一个学生的信息,分别记录了学生学号、姓名以及10门课成绩,格式如下。 1820161043郑珉镐68 66 83 77 56 73 61 69 66 78 1
admin
2021-03-17
52
问题
某班学生评选一等奖学金,学生的10门主干课成绩存在考生文件夹下文件“score.txt”中,每行为一个学生的信息,分别记录了学生学号、姓名以及10门课成绩,格式如下。
1820161043郑珉镐68 66 83 77 56 73 61 69 66 78
1820161044沈红伟91 70 81 91 96 80 78 91 89 94
从这些学生中选出奖学金候选人,条件如下:①总成绩排名在前10名;②全部课程及格(成绩大于等于60)。
问题1:给出按总成绩从高到低排序的前10名学生名单,并写入文件“candidateO.txt”,每行记录一个学生的信息,分别为学生学号、姓名以及10门课成绩。补充考生文件夹下文件“PY301-1.py”,完成这一功能。
试题程序:
#请在…处使用多行代码替换
#注意:其他已给出代码仅作为提示,可以修改
L=[] #L中的元素是学生原始成绩和总成绩
…
L.sort(key=lambda x:x[-1],reverse=True) #按学生总成绩从大到小排序
…
问题2:读取文件“candidate0.txt”,从中选出候选人,并将学号和姓名写入文件“candidate.txt”,格式如下。
1010112161722张三
1010112161728李四
……
补充考生文件夹下文件“PY301-2.py”,完成这一功能。
试题程序:
…
输入文件:candidate0.txt
输出文件:candidate.txt
…
选项
答案
(1) L=[] fo=open("score.txt","r") fi=open("candidate0.txt","w") lines=fo.readlines() for line in lines: line=line.strip() student=line.split(’’) sum=0 for i in range(1,11) sum+=int(student[-i]) student.append(str(sum)) L.append(student) L.sort(key=lambda x:x[-1]),reverse=True for i in range(10) fi.write(’’,join([i][ :-1]+’\n’ fo.close() fi.close() (2)fo=open("candidate0.txt","r") fi=open("candidate.txt","w") L=[] #存储候选人 Lines=fo.readlines() for line in lines: line=line.strip() student=line.split(’ ’) for i in student[-10:]: if int(i)<60: break else L.write(‘’.join(i)+‘\n’ fo.close() fi.close()
解析
(1)本题涉及“score.txt”和“candidate0.txt”两个文件。首先要读取“score.txt”文件中的信息,通过程序求出每个学生的总成绩,然后按总成绩从大到小排序,将总成绩排名前10的学生学号、姓名以及10门课成绩写入“candidate().txt”文件中。打开文件用open()函数,用"r"只读模式打开文件“score.txt”,用"w"模式创建文件“candidate0.txt”。
“score.txt”文件中每行为一个学生的信息,需要用readlines()方法读人所有行,以每行内容为元素形成列表lines,然后用for循环遍历该列表中的元素。在遍历元素时,用strip()方法删除元素首尾出现的空白符,用split()方法以空格分隔学生学号、姓名以及10门课成绩得到列表student。由于要求出总成绩,因此使用for遍历学生的10门课成绩,将其累加赋值给sum,并将sum追加到student。最后将student所有元素追加到列表L中。
随后,对列表L进行排序,用到sort()方法,参数key=lambda x:x[-1]中lambda是一个匿名函数,是固定写法.不能写成别的单词;x表示列表中的一个元素,在这里表示一个列表(即一个学生的信息),x只是临时起的一个名字,也可以使用任意的名字;x[-1]表示以列表最后一个元素(即总成绩)排序。参数reverse=True表示按降序排序;若该参数缺省或reverse=False,表示按升序排序。
最后,通过for循环提取列表L前10个元素(即前10名的学生信息,但不包含总成绩),用空格分隔每个元素,并添加换行符,写入文件“candidate0.txt”,再关闭所有文件。
(2)本题涉及“candidate0.txt”和“candidate.txt”两个文件。首先要读取“candidate0.txt”文件中的信息,通过程序判断学生的所有成绩是否都大于等于60,满足条件的将该学生的学号和姓名写入“candidate.txt”文件中。打开文件用open()函数,用"r"只读模式打开文件“candidate0.txt”,用"w"模式创建文件“candidate.txt”,并定义一个列表L来存储学号和姓名。
“candidate0.txt”文件中有10行数据,需要用readlines()方法读入所有行,以每行内容为元素形成列表lines,然后用for循环遍历该列表中的元素。在遍历元素时,用strip()方法删除元素首尾的空格,用split()方法以空格分隔学生学号、姓名以及10门课成绩得到列表student。然后对列表student使用for循环遍历,用来判断10门课程的成绩是否都大于等于60,满足条件就将列表student中的前两个元素(即学号和姓名)追加到列表L中。
最后,通过for循环提取列表L中的所有元素,用空格分隔每个元素,并添加换行符,写入文件“candidate.txt”。再关闭所有文件。
转载请注明原文地址:https://kaotiyun.com/show/FY6p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
1.在考生文件夹下新建一个名为“供应”的项目文件。2.将数据库“供应零件”加入到新建的“供应”项目中。3.通过“零件号”字段为“零件”表和“供应”表建立永久性联系,其中,“零件”表是父表,“供应”表是子表。4.为“供应”表的“数量”字段设置有效性规则
以下是与设置系统菜单有关的命令,错误的是()。
下列关于主索引和候选索引的叙述中,不正确的是()。
将E-R图转换到关系模式时,实体与联系都可以表示成()。
(1)student是一个“学牛”表,其中包含学号(c8)、姓名(C8)、性别(c2)、政治面目(C4)、班级(C5)等字段。考生文件夹下的modil.prg程序文件的功能是显示输出所有政治面目为“群众”的“男”生的姓名和班级,每行输出一个学生的
(1)在考生文件夹下已有表单文件formone.scx.如图3-26所示,其中包含一个列表框、一个表格和一个命令按钮。请按下面要求完成相应的操作:①在表单的数据环境中添加orders表。②将列表框List1设置成多选,另外将
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符名标识的图符不属于数据流图合法图符的是
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是
数据管理技术发展的三个阶段中,()没有专门的软件对数据进行管理。Ⅰ.人工管理阶段Ⅱ.文件系统阶段Ⅲ.数据库阶段
数据字典(D)所定义的对象都包含于
随机试题
能对手术前后死亡人数的指标统计来对医院的服务质量进行效益评估,这种做法叫做()
下列水工建筑物中,属于专门性水工建筑物的是()。
在资金时间价值指标的计算过程中,普通年金现值与普通年金终值是互为逆运算的关系。()
人们不小心打破花瓶除了沮丧别无他为,丹麦物理学家雅各布•博尔却在打破花瓶时细心收集碎片,按重量的数量级分类,由此发现不同重量级间的倍数关系,于是“碎花瓶理论”产生,这一理论在恢复破损文物等工作中发挥着重要作用。这体现的哲理是()。①哲学智
现在统计中常用的人均可支配收入由四部分构成,分别是:工资性收入、转移性收入、经营性收入和财产性收入。财产性收入一般是指家庭拥有的动产(如银行存款、有价证券等)、不动产(如房屋、车辆、土地、收藏品等)所获得的收入。它包括出让财产使用权所获得的利息、租金、专利
化学课上,张老师演示了两个同时进行的教学实验:一个实验是KCIO3加热后,有O2缓慢产生;另一个实验是KCLO3加热后迅速撒入少量MnO2,这时立即有大量的O2产生。张老师由此指出:MnO2是O2快速产生的原因。以下哪项与张老师得出结论的方法类似?
设随机变量X的方差存在,并且满足不等式P{|X—E(X)|≥3}≤则一定有()
渐增式开发方法有利于(4)。
HospitalMistreatmentAccordingtoastudy,mostmedicalinternsreportexperiencingmistreatment,includinghumiliationby
Inthisresearch,theclinicaldataon150patientswithhypertensionwas______studied.
最新回复
(
0
)