首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能: 下面所示为一套由公司职员随身佩戴的位置传感器采集的数据,文件名称为“sensor.txt”,其内容示例如下: 2016/5/31 0:05,
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能: 下面所示为一套由公司职员随身佩戴的位置传感器采集的数据,文件名称为“sensor.txt”,其内容示例如下: 2016/5/31 0:05,
admin
2020-04-10
79
问题
考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能:
下面所示为一套由公司职员随身佩戴的位置传感器采集的数据,文件名称为“sensor.txt”,其内容示例如下:
2016/5/31 0:05,vawelon001,1,1
2016/5/31 0:20,earpa001,1,1
2016/5/31 2:26,eawa001,1,6
…(略)
第一列是传感器获取数据的时间,第二列是传感器的编号,第三列是传感器所在的楼层,第四列是传感器所在的位置区域编号。
问题1:在PY301一1.py文件中修改代码,读入sensor.txt文件中的数据,提取出传感器编号为earpa001的所有数据,将结果输出保存到“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表示1楼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’,’r’) 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 i in range(ls)); fo.write(’{},{}\n’.format(ls[i][0],ls[i][1])) fi.close() fo.close()
解析
(1)本题涉及sensor.txt和earpa001.txt两个文件,前者使用r模式打开,后者使用w模式创建。从文件sensor.txt中读入所有的行,以行为元素形成列表txt。然后使用for循环遍历列表txt中的每个元素,并将该元素内容存人到列表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/pf6p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
(1)在考生文件夹下建立如下图所示的表单文件form_three,表单名为forml。标签控件命名为Ln,文本框控件命名为Textn,命令按钮控件命名为Commands。表单运行时在文本框中输入职员号,单击“开始查询”命令按钮查询该职员所经手的订购单信息(
假设会员表中包含会员号、姓名和电话字段。现在希望通过创建合适的索引来保证会员号的值唯一,下面选项中能够保证会员号的值是唯一的语句是()。
在数据库设计过程中,如果表A和表B之间是一对多联系。下列进行的数据库设计方法中,最合理的是()。
打开考生文件夹下的DB数据库,完成如下简单应用:(1)编写一个名为FOUR.PRG的程序,根据表TABA中所有记录的a,b,c三个字段的值,计算各记录的一元二次方程的两个根x1和x2,并将两个根x1和x2写到对应的字段x1和x2中,如果无实数解
设x="123",y=123,k="y",表达式x+&k的值是()。
表单里有一个选项按钮组,包含两个选项按钮Option1和Option2。假设Option2没有设置Click事件代.码,而Optionl以及选项按钮组和表单都设置了Click事件代码。那么当表单运行时,如果用户单击Option2,系统将()。
软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。
计算机网络最突出的优点是
计算机的应用领域大致可分为8个方面,下列选项中都属于这几项的是
以下选项中使Python脚本程序转变为可执行程序的第三方库的是
随机试题
马丁与麦考伯将父母的教养方式划分为民主权威型、绝对权威型、宽松溺爱型和忽视冷漠型,其划分所依据的两个维度是()
在核酸热变性过程中,紫外线吸收增值达到最大值的50%时的温度与(G+c)含量有关,即(G+c)含量越多。紫外线吸收增值达50%时温度越高,这一核酸特征性的温度为
下列有关行政强制措施的说法哪些是不正确的?
在地下水位很深的场地上,均质厚层细砂地基的平板载荷试验结果如表6.3—6所示,方形承压板边长为700mm。埋置深度d=1.5m的方形柱基础设计时,根据载荷试验结果按s/b=0.015确定且按《建筑地基基础设计规范》GB50007—2011要求的地基承载力
根据《民法典》及相关规定,下列情形不发生标的物所有权的转移的有()。
期末,民间非营利组织应将非限定性收入转入“非限定性净资产”科目的贷方,借记的会计科目可能有()。
()不属于娱乐场所的环境规则内容。
平面向量a与b的夹角为60°,a=(2,0),|b|=1,则|a+2b|=()。
Somepeopleoughttodefendtheworkaholic. Thesepeopleareunjustlyaccused,abused,anddefamed—often,termedsick
Sinceabout1800,nearthebeginningoftheindustrialrevolution,coal,petroleumandgashavebeenusedatarapidlyincreasin
最新回复
(
0
)