计算机二级Python综合题目

Posted 倾夏12319

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机二级Python综合题目相关的知识,希望对你有一定的参考价值。

计算机二级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()


Python二级考试-综合应用题(对网络版的《论语》txt文件进行提纯)

网络版《论语》内容比较齐全,包含了原文内容和注释内容,而原文内容又包含了序号符号!这是一题比较简单的应用题,只涉及到TXT文件的读写!解决思路也比较清晰明了。

题目:

 

原文件如下图所示:

问题1:

 

分析问题:题目要求就是对“论语.txt”文件进行提纯,把空格,“【原文】”和“【注释】”以及注释内容去掉,并写入新的文件“论语-原文.txt”。注意:收尾空格要去掉。

解决思路:

1,用open函数打开源文件,并用readlines函数逐行读取文件内容,这里返回列表类型,每一行为列表的一个元素。

2,遍历列表,对每一个列表中的元素用strip函数和replace函数分别去掉换行符“\\n”和收尾空格(因为源文件有些行为空,读取的时候任会有“\\n”,这样去掉换行符方便后面处理)。

3,去掉换行符和收尾空格后,我们就可以观察当前文件内容(可以输出查看),不难发现除了原文内容,其他行第一个字符要么是“【”就是“(”,这样我们就可以用if语句进行筛选。

4,对筛选的内容写入新的文件即可。

代码实现:

# !/usr/bin/env python
# -*- encoding:utf-8 -*-
# 作者:赖正华

def read_files():
    """读取文件"""
    files = open("C:\\\\WEXAM\\\\000000000000\\\\论语.txt","r",encoding="gbk") # 文件位置以文件所在位置为准
    txts = files.readlines()
    n = 0
    for txt in txts:   # 也可以直接遍历files,效果是一样的。
        new_txt = txt.strip(\'\\n\').replace(\' \',\'\')
        if new_txt and new_txt[0] != \'\' and new_txt[0] != \'(\':
            n += 1
            write_files(new_txt + "\\n")
            print("第{}句写入成功!".format(n))
    files.close()
def write_files(strs):
    """写入文件"""
    files = open("C:\\\\WEXAM\\\\000000000000\\\\论语-原文.txt","a+",encoding="gbk")    # 文件位置以文件所在位置为准

files.write(strs)
    files.close() 

if __name__ == "__main__":
read_files()

print("操作成功!")

另一种解决思路:

files = open("C:\\\\Users\\\\赖正华\\\\Desktop\\\\论语.txt","r",encoding="utf-8")
lines = files.readlines()
num = 1
for line in lines:   # 也可以直接遍历files,效果是一样的。
    line = line.strip(\'\\n\').replace(\' \',\'\')
    if line and num == 1 and line.count("【原文】") == 0  and line.count("【注释】") == 0:
        print(line)
    if line.count("【原文】") > 0:
        num = 1
    if line.count("【注释】") > 0:
        num = 0
files.close()

# 输出内容如下:
# 子曰(1):“学(2)而时习(3)之,不亦说(4)乎?有朋(5)自远方来,不亦乐(6)乎?人不知(7),而不愠(8),不亦君子(9)乎?”

 

问题2:

 

分析问题:题目要求就是对问题一写入的新文件“论语-原文.txt”进一步提纯,也就是去掉每行文字中所有小括号及内部数字,并写入新的文件“论语-提纯原文.txt”。

解决思路:

1,用open函数打开源文件,并用readlines函数逐行读取文件内容,这里返回列表类型,每一行为列表的一个元素。

2,也是遍历列表,用strip函数或replace函数去除即可,这里我用replace函数。

3,对写好的内容写入新的文件即可。

代码实现:

# !/usr/bin/env python
# -*- encoding:utf-8
# 作者:赖正华

def read_files():
    """读取文件"""
    with open("C:\\\\WEXAM\\\\000000000000\\\\论语-原文.txt","r",encoding="gbk") as files:
        lines = files.readlines()
        n = 0
        for line in lines:   # 也可以直接遍历files,效果是一样的。
            n += 1
            for i in range(1,11):
                s = \'(\' + str(i) + \')\'
                line = line.replace(s,\'\')
            write_files(line)
            print("第{}行写入成功!".format(n))

def write_files(strs):
    """写入文件"""
    with open("C:\\\\WEXAM\\\\000000000000\\\\论语-提纯原文.txt","a+",encoding="gbk") as files:
        files.write(strs)
if __name__ == "__main__":
    read_files()
    print("操作成功!")

 

以上是关于计算机二级Python综合题目的主要内容,如果未能解决你的问题,请参考以下文章

2018年9月Python计算机二级复习攻略

2023/03/25NCRE二级Python综合题:jieba库的使用与文件读取写入

Python二级测试:数据结构与算法

怎样找到二级Python的刷题工具

Python计算机二级编程题真题及考点总结纯干货(下篇)

小黑课堂计算机二级Python有刷题程序吗