计算机二级python真题
一、简单应用题——高校分类
描述:
实现以下功能,键盘输入一组我国高校所对应的学校类型,以空格为分隔,共一行,示例格式如下:
综合 理工 综合 综合 综合 师范 理工
统计各类型的数量,从数量多到少的顺序屏幕输出类型及对应数量,以英文冒号分隔,以英文冒号分隔,每,个类型一行,输出参考格式如下:
综合:4
理工: 2
师范:1
代码:
txt = input("请输入类型序列:")
lt = txt.split()
d = {}
for i in range(len(lt)):
d[lt[i]] = d.get(lt[i],0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 按照数量排序
for k in ls:
print("{}:{}".format(k[0], k[1]))
二、综合应用题——传感器
本题解答 问题一 :
在右侧模板中修改代码,读入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
…(略)
代码:
fi = open("sensor.txt","r")
lines = fi.readlines()
fi.close()
fo = open("earpa001.txt","w")
for line in lines:
ls = line.strip("\n").split(",")
if ls[1] == " earpa001":
fo.write('{},{},{},{}\n'.format(ls[0],ls[1],ls[2],ls[3]))
fo.close()
本题解答 问题二 :
在右侧模板中修改代码,读入"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次;
代码:
fi = open("earpa001.txt","r",encoding="utf-8")
lines = fi.readlines()
fi.close()
fo = open("earpa001_count.txt","w",encoding="utf-8")
d = {}
for line in lines:
lt = line.strip(" \n").split(",")
ln = lt[2]+'-'+lt[3]
d[ln]=d.get(ln,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 该语句用于排序
for i in range(len(ls)):
fo.write('{},{}\n'.format(ls[i][0],ls[i][1]))
fo.close()