首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。 下面所示为—套由公司职员随身佩戴的位置传感器采集的数据,文件名称为“sensor.txt”,其内容示例如下: 2016/5/31 0:05,
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。 下面所示为—套由公司职员随身佩戴的位置传感器采集的数据,文件名称为“sensor.txt”,其内容示例如下: 2016/5/31 0:05,
admin
2021-03-16
55
问题
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。
下面所示为—套由公司职员随身佩戴的位置传感器采集的数据,文件名称为“sensor.txt”,其内容示例如下:
2016/5/31 0:05,vawelon001,1,1
2016/5/31 0:20,earpa001,1,1
2016/5/31 2:26,earpa001,1,6
…
第1列是传感器获取数据的时间,第2列是传感器的编号,第3列是传感器所在的楼层,第4列是传感器所在的位置区域编号。
问题1:在“PY301-1.PY”文件中修改代码,读入“sensor.txt”文件中的数据,提取出传感器编号为esi-pa001的所有数据,将结果输出保存到“earpa001.txt”文件。输出文件的格式要求:原数据文件中的每行记录写入新文件中,行尾无空格,无空行。参考格式如下。
2016/5/31 7:11,earpa001,2,4
2016/5/31 8:02,earpa001,3,4
2016/5/31 9:22,earpa001,3,4
试题程序:
#以下代码为提示框架
#请在程序的…处使用一行或多行代码替换
#请在程序的________处使用一行代码替换
#注意:提示框架的代码可以任意修改,以完成程序功能为准
…
for line in________:
…
fo.write(’{},{},{},{}\n’.format(________))
…
问题2:在“PY301-2.PY”文件中修改代码,读入“earpa001.txt”文件中的数据。统计earpa001对应的职员在各楼层和区域出现的次数,保存到“earpa001_count.txt”文件。每条记录一行,位置信息和出现的次数之
间用逗号隔开,行尾无空格,无空行。参考格式如下。
1-1,5
1-4,3
…
含义如下:
第1行“1-1,5”中1-1表示l楼1号区域,5表示出现5次;
第2行“1-4,3”中1-4表示1楼4号区域,3表示出现3次。
试题程序:
#以下代码为提示框架
#请在程序的…处使用一行或多行代码替换
#请在程序的________处使用一行代码替换
#注意:提示框架的代码可以任意修改,以完成程序功能为准
…
d={}
…
ls=list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)#该语句用于排序
…
fo.write(’{},{}\n’.format(________))
…
选项
答案
(1)fi=open(’sensor.txt’,2) fo=open(’earpa001.txt’, ’w’) txt=fi.readlines() for line in txt: ls=line.strip("\n").split(",") if’earpa001’in ls: fo.write("{},{},{},{}\n".format(ls[0], ls [1], ls [2],ls[3])) fi.close() fo.close() (2)fi=open(’earpa001.txt’,’r’) fo=open(’earpa001 count.txt’,’w’) d={} for line in fi: split data=line.strip(”\n" ).split(’,’) floor and area=split data[-2]+"-"+split_data[-1] if floor_and_area in d: d[floor and area]+=1 else: d[floor and area]=1 ls=list(d.items()) ls.sort(key=lambda x: x[1], reverse=True) #该语句用于排序 for j in range(len(ls): fo.write("{},{}\n".format(ls[j][0],ls[j][1])) fi.close() fo.close()
解析
(1)本题涉及“sensor.txt”和“earpa001.txt”两个文件,前者使用r模式打开,后者使用w模式创建。从文件“sensor.txt”中读入所有的行,以行为元素形成列表txt。然后使用for循环遍历列表缸t中的每个元素,并将该元素内容存入列表ls中。使用if条件判断“earpa001”是否在列表ls中,如果存在,就将列表ls中的前四个元素写入文件“earpa001.txt”中。最后关闭文件。
(2)本题涉及“earpa001.txt”和“earpa001-count.txt”两个文件,前者使用r模式打开,后者使用w模式创建。由于题目涉及统计计算,这可以借助字典来实现,因此首先定义字典变量d。
然后使用for循环遍历“earpa001.txt”的每一行,并将该行内容存入列表split_data中,由于题目要求的格式形如“1-1”,因此需要将列表split_data中的最后两个元素通过“-”进行连接并赋值给变量floor_and_area。使用if条件判断floor_and_area在字典d中是否存在,若存在则将该键对应的值加1,若不存在则将变量作为字典的键并将对应值设置为1。
ls=list(d.items())表示将字典类型变成列表类型,字典中的每个键值对对应列表中的一个元组。随后,对列表ls中的元组按照第二个元素的大小降序排序。
排序后,再通过一个for循环遍历将列表ls中每个元组的第一个和第二个元素写入文件earpa001_count_txt中。最后关闭文件。
转载请注明原文地址:https://kaotiyun.com/show/El6p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
学生表中有“学号”、“姓名”和“年龄”三个字段,SQL语句“SELECT学号FROM学生”完成的关系操作称为()。
设成绩(学号,课程号,考试分数),如果要删除成绩表中考试分数为空值的记录,则下面语句正确的是()。
在定义菜单项时,若其对应功能需南一段程序完成,则应在“结果”列上选择()。
下面关于查询的叙述,错误的是()。
SQL语句中条件语句的关键字是()。
下列函数中,不属于数据类型转换函数的是()。
在表单(Form1)的INIT事件中编写程序代码,下列语句中不能将表单的背景颜色设置为绿色的是()。
使用如下数据表:学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D)选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)假定学号的第3、4位为专业代码,要计算各专业学生选修课程号为“101”课程的
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是
关于Python文件打开模式的描述,以下选项中错误的是
随机试题
关于压实度、平整度、承载能力、抗滑性能测试方法,请回答以下问题。激光式高速路面弯沉测定仪承载车()与贝克曼梁测试弯沉加载车参数要求一致。
肾上腺素的药理作用包括
反应一个测验工具的可靠性是指该测验的
初产妇,27岁,妊娠38周,诊断:妊娠合并心脏病,产钳娩出一活男婴后,心功能Ⅲ级。产褥期的护理措施不包括()
根据企业所得税法律制度的规定,税务机关根据税收法律、行政法规的规定,对企业作出特别纳税调整的,应当对补征的税款加收利息。下列表述中,不正确的有()。
A、 B、 C、 D、 B每行图形的组成元素相同,只是组合方式不同。
黏土看上去似乎是一种肥沃度差、由多种矿物质组成的混合物,但却可能是地球生命的起源地。在模拟古代的海水中,黏土会形成水凝胶——由大量可吸收液体的微小空间构成(像海绵一样)。过去几十亿年里,被禁锢在这些空间里的化学物可能发生了复杂的反应,从而形成了蛋白质、脱氧
圈养动物是比野生动物更有意思的研究对象。因此,研究人员从研究圈养动物中能够比从研究野生动物中学到更多的东西。上面的论证依赖于下面哪一个假设?
甲在盗窃时被75岁的老妇发现,老妇喊“捉贼”,被甲打了一耳光。老妇上前夺被甲拿走的戒指时,又被甲推了一把。老妇趁甲在翻其他东西时,拿起斧头向甲的脑袋砸去,致甲重伤。老妇的行为属于()。
TheSacrificeatMasadaOnediscoveryalwaysleadstoanother.ArchaeologistsworkingneartheDeadSeabecamecuriousa-bo
最新回复
(
0
)