Python计算机二级编程题真题及考点总结(上篇) 您所在的位置:网站首页 二级office选择题题库一共有多少题 Python计算机二级编程题真题及考点总结(上篇)

Python计算机二级编程题真题及考点总结(上篇)

2023-11-16 03:10| 来源: 网络整理| 查看: 265

文章目录 一、前言二、考纲/考试方式三、编程题详解3.1 基本操作题-真题3.2 基本操作题-考点总结3.2.1 考点一:基本输入输出函数3.2.2 考点二、三:程序的控制结构和数据类型3.2.3 考点四:Python计算生态3.2.4 考点五:Python文件操作 3.3 简单应用题与综合应用题 四、小结 声明:例题均来源于网络,仅供学习参考,若涉侵权请联系删除 附下篇链接: Python计算机二级编程题真题及考点总结【纯干货】(下篇).

一、前言

       相较于各类Python基础教程和二级经验分享类文章,个人认为如果只是想要考取计算机二级证书的话,最快且有效的方法应是在明晰考纲的前提下有针对性的进行学习,达到以最短时间考取证书的目的。        因此除真题外,本篇重点在于总结Python二级考试中的编程题(占60分)的考查内容及知识点总结,让Python小白能在一周内掌握绝大多数编程题的解题方法,顺利考取证书,为未来应聘岗位添砖加瓦! 非计算机技术专业的工科狗一枚~

二、考纲/考试方式

       在教育部考试中心每年发布的参考教材和计算机等级考试官网(最新考纲链接)上可以查到考查范围。顺便提一下考纲中的大部分内容都十分基础,可以给初学者用来入门Python,如果有小伙伴刚好想要入门这门语言的话,顺带考个证书会是个不错的选择~下面详细介绍一下考试题型和考试环境:

考试题型:单选题40分、操作题60分;其中单选题有10分是公共基础题,涉及计算机基础、数据结构与算法等,该部分可以参考:二级公共基础考点整理。另外30分则是Python基础相关的题目,因此如果有小伙伴已经临近考试且还未看过公共基础部分的内容(相对较多),个人建议可以放弃这10分(随缘),重点突破Python!操作题一共有六大题,包括3道基本操作题(各5分)、2道简单应用题(分别10、15分)和一道综合应用题(20分);考试环境:win7系统,python3.5.2及以上的IDLE开发环境下,由于Python自带的IDLE缺少自动补全一些关键字等功能,故不建议备考时使用诸如Pycharm等其他IDE进行编程练习,关于IDLE的使用可以看Python IDLE入门了解。 三、编程题详解

       因篇幅限制,本文将先针对基本操作题进行总结与讲解,剩余的2道简单应用题和一道综合应用题将在下篇中进行详细介绍。例题均来源于网络某真题模拟软件(实践证明考试时确实遇到不少原题!!!),故相信本次总结也大概率能涉及大部分考试题目。

3.1 基本操作题-真题

       基本操作题这部分内容考查范围较广,基本涵盖了整个考纲当中各大章节的知识,需要一定的积累(刷题),一共3道题各5分,题目只需要考生补充部分代码即可,问题的描述如下:“考生文件夹存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:xxx问题”。        以下为摘自近10套真题试卷的题目及答案(题目仅供学习参考,请勿商用!):

例1:键盘输入字符串s,按要求把s输出到屏幕,格式要求:宽度为30个字符,星号字符*填充,居中对齐。如果输入字符串超过30位,则全部输出。 // 考生文件初始代码 s = input("请输入一个字符串:") print("{______}".format(s)) // 参考答案 s = input("请输入一个字符串:") print("{:*^30}".format(s)) 例2:根据斐波那契数列的定义,F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2),输出不大于50的序列元素。例如:屏幕输出实例为:0.1.1.2.3…(略) // 考生文件初始代码 a, b = 0, 1 while ______: print(a, end=',') a, b = ______ // 参考答案 a, b = 0, 1 while a 25}".format(item)) // 参考答案 def proc(strings): m = 0 lst = [] for i in range(len(strings)): if len(strings[i]) > m: m = len(strings[i]) for i in range(len(strings)): if len(strings[i]) == m: lst.append(strings[i]) return lst strings = ['cad' ,'VB', 'Python', 'MATLAB', 'hello', 'world'] result = proc(strings) print("the longest words are:") for item in result: print("{: >25}".format(item)) 例19:接收用户输入的一个小于20的正整数,在屏幕上逐行递增显示从01到该正整数,数字显示的宽度为2,不足位置补0,后面追加一个空格,然后显示’>'号,‘>’号的个数等于行首数字。例如: 输入:2 输出: 01> 02>> // 考生文件初始代码 n = input('请输入一个正整数:') for i in range(____________): print('____________'.format(i, ____________)) // 参考答案 n = input('请输入一个正整数:') for i in range(1,eval(n)+1): print('{:0>2} {}'.format(i, '>'*i)) 例20:让用户输入一串数字和字母混合的数据,然后统计其中数字和字母的个数,显示在屏幕上。例如: 输入:fda243fdw3 输出:数字个数:4,字母个数:6 // 考生文件初始代码 ns = input("请输入一串数据:") dnum,dchr = ____________ for i in ns: if i.isnumeric(): dnum += ____________ elif i.isalpha(): dchr += ____________ else: pass print('数字个数:{},字母个数:{}'.format(____________)) // 参考答案 ns = input("请输入一串数据:") dnum,dchr = 0,0 for i in ns: if i.isnumeric(): dnum += 1 elif i.isalpha(): dchr += 1 else: pass print('数字个数:{},字母个数:{}'.format(dnum,dchr)) 例21:将程序定义好的std列表里的姓名和成绩与已经定义好的模板拼成一段话,显示在屏幕上。例:亲爱的张三,你的考试成绩是英语90,数学87, Python语言95,总成绩272.特此通知… // 考生文件初始代码 std = [['张三',90,87,95],['李四',83,80,87],['王五',73,57,55]] modl = "亲爱的{}, 你的考试成绩是: 英语{}, 数学{}, Python语言{}, 总成绩{}.特此通知." for st in std: cnt = ____________ for i in range(____________): cnt += ____________ print(modl.format(st[0],st[1],st[2],st[3],cnt)) // 参考答案 std = [['张三',90,87,95],['李四',83,80,87],['王五',73,57,55]] modl = "亲爱的{}, 你的考试成绩是: 英语{}, 数学{}, Python语言{}, 总成绩{}.特此通知." for st in std: cnt = 0 for i in range(1,4): cnt += st[i] print(modl.format(st[0],st[1],st[2],st[3],cnt)) 例22:键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为14个字符,数字中间对齐,不足部分用=填充。 例如:键盘输入正整数n为1234,屏幕输出===== 1234 ===== // 考生文件初始代码 n = eval(input("请输入正整数:")) print("{______}".format(n)) // 参考答案 n = eval(input("请输入正整数:")) print("{:=^14}".format(n)) 例23:a和b是两个列表变量,列表a为[3,6,9]已给定,键盘输入列表b,将a列表的三个元素插入到b列表中对应的前三个元素的后面,并显示输出在屏幕上。 例如:键盘输入列表b为[1,2,3],因此,屏幕输出计算结果为[1,3,2,6,3,9] // 考生文件初始代码 a = [3,6,9] b = eval(input()) #例如:[1,2,3] j=1 for i in range(len(__(1)____)): b._____(2)_____ j+= __(3)______ print(b) // 参考答案 a = [3,6,9] b = eval(input()) #例如:[1,2,3] j=1 for i in range(len(a)): b.insert(j,a[i]) j+= 2 print(b) 例24:以100为随机数种子,随机生成3个在1(含)到9(含)之间的随机整数,计算这三个随机整数的立方和。 // 考生文件初始代码 import random ____________ # 此处可多行 s = 0 # ____________ # 此处可多行 print(s) // 参考答案 import random random.seed(100) # 此处可多行 s = 0 # for i in range(3): n = random.randint(1,9) #此处可多行 s += n**3 print(s) 3.2 基本操作题-考点总结

       刷题后进行适当的总结对巩固知识点具有十分重要的意义,本部分内容将对包括以上真题(基本操作题)在内的十余套真题进行总结,凝练出一些在考试当中出现频率极高的考点。划重点!!下图为个人总结的编程题考点脑图–基本操作题部分供各位小伙伴学习参考,下篇会继续针对性的补充目前尚未总结到的内容。

3.2.1 考点一:基本输入输出函数

       该部分总结了在编程题当中遇到了几乎所有输入输出操作的相关函数及其使用方法,建议小伙伴的查看的同时能够自己打开IDLE敲下代码,实际体会一下使用这些函数的具体效果,有助于巩固记忆~

基本输入输出函数总结       

3.2.2 考点二、三:程序的控制结构和数据类型

       相信只要是学过其他语言的小伙伴对程序控制结构都比较熟悉,掌握起来也相对较简单,因此这边不做过多介绍。另外数据类型是学习Python的重中之重,如果有小伙伴看到这对Python常见的数据类型(字符串、列表、字典等)还不清楚的,需要去自行补充一下相关知识点,可以参考这篇文章学习Python基础(3)—八种数据类型.。        下边两图仅针对小部分在基础编程题中出现的内容进行说明,下篇会针对这两个考点中一些比较常考的特殊知识点进行系统总结与补充~ 程序的控制结构        数据类型       

3.2.3 考点四:Python计算生态

       这部分也是二级当中考频很高的知识点,在选择题和后面的编程题中都会经常涉及,下图仅仅针对部分在基础编程题中出现的内容进行部分总结,后面在下篇当中会根据另外两类型的编程题中的常见考点进一步补充。 Python计算生态

       

3.2.4 考点五:Python文件操作

       由于这部分内容在最后的综合编程题当中出现频率极高,故放在下篇当中再介绍。

3.3 简单应用题与综合应用题

       总体而言,这两类题目的考试内容也是有迹可循的,这部分的总结将同样会以真题+总结的形式在下篇中逐步更新,敬请期待。下面随便挑了一份真题中的最后三道题目供大家学习参考:

例25(简单应用题一):使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为100的三角形,效果如下图所示。 // 考生文件初始代码 import turtle for i in range(_____): turtle.seth(_____) ________(100) // 参考答案 import turtle for i in range(3): turtle.seth(i*120) turtle.fd(100) 例26(简单应用题二):键盘输入一组水果名称并以空格分隔,共—行。示例格式如下:         苹果  芒果  草莓  芒果  苹果  草莓  芒果  香蕉  芒果  草莓         统计各类型的数量,从数量多到少的顺序输出类型及对应数量,以英文冒号分隔,每个类型一行。输出结果保存在考生文件夹下,命名为“PY202.txt”。输出参考格式如下: 芒果:4 草莓:3 苹果:2 香蕉:1 // 考生文件初始代码 fo = open("PY202.txt","w") txt = input("请输入类型序列: ") ... d = {} .... ls = list(d.items()) ls.sort(key=lambda x:x[1], reverse=True) # 按照数量排序 for k in ls: fo.write("{}:{}\n".format(k[0], k[1])) fo.close() // 参考答案 fo = open("PY202.txt","w") txt = input("请输入类型序列: ") fruits = txt.split(" ") d = {} for fruit in fruits: d[fruit] = d.get(fruit,0) + 1 ls = list(d.items()) ls.sort(key=lambda x:x[1], reverse=True) # 按照数量排序 for k in ls: fo.write("{}:{}\n".format(k[0], k[1])) fo.close() 例27(综合应用题):给出文件"论语.txt",其内容采用逐句“原文"与逐句“注释"相结合,通过【原文】标记《论语》原文内容,通过【注释】标记《论语》注释内容,具体文件格式参考“论语.txt"文件(该题原本有输出示例文件,此处不给出,可直接参看代码)。        问题1(10分):在PY301-1.py文件中修改代码,提取“论语.txt"文件中的原文内容,输出保存到考生文件夹下,文件名为“论语-原文.txt”。要求:仅保留“论语.txt"文件中所有【原文】标签下面的内容,不保留标签,并去掉每行行首空格及行尾空格,无空行。原文小括号及内部数字是源文件中注释项的标记,请保留。        问题2(10分):在PY301-2.py文件中修改代码,对“论语-原文.txt′或“论语.txt"文件进一步提纯,去掉每行文字中所有小括号及内部数字,保存为“论语-提纯原文.txt"文件。

"论语.txt"文件部分示例如下:

【原文】

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

【注释】

(1)子:中国古代对于有地位、有学问的男子的尊称,有时也泛称男子。《论语》书中“子曰”的子,都是指孔子而言。

(2)学:孔子在这里所讲的“学”,主要是指学习西周的礼、乐、诗、书等传统文化典籍。

(3)时习:在周秦时代,“时”字用作副词,意为“在一定的时候”或者“在适当的时候”。但朱熹在《论语集注》一书中把“时”解释为“时常”。“习”,指演习礼、乐;复习诗、书。也含有温习、实习、练习的意思。

(4)说:音yuè,同悦,愉快、高兴的意思。

(5)有朋:一本作“友朋”。旧注说,“同门曰朋”,即同在一位老师门下学习的叫朋,也就是志同道合的人。

(6)乐:与说有所区别。旧注说,悦在内心,乐则见于外。

(7)人不知:此句不完整,没有说出人不知道什么。缺少宾语。一般而言,知,是了解的意思。人不知,是说别人不了解自己。

(8)愠:音yùn,恼怒,怨恨。

(9)君子:《论语》书中的君子,有时指有德者,有时指有位者。此处指孔子理想中具有高尚人格的人。

// 考生文件初始代码 PY301-1 fi = open("论语.txt", ______) fo = open("论语-原文.txt", ______) ... for line in fi: ... fo.write(line.lstrip()) ... // 考生文件初始代码 PY301-2 fi = open("论语-原文.txt", ______) fo = open("论语-提纯原文.txt", ______) for line in fi: ... line=line.replace(______) ... // 参考答案PY301-1 fi = open("论语.txt", "r") fo = open("论语-原文.txt", "w") flag = False for line in fi: if "【" in line: flag = False if "【原文】" in line: flag = True continue if flag == True: fo.write(line.lstrip()) fi.close() fo.close() // 参考答案PY301-2 fi = open("论语-原文.txt", 'r') fo = open("论语-提纯原文.txt", 'w') for line in fi: for i in range(1,23): line = line.replace("({})".format(i),"") fo.write(line) fi.close() fo.close() 四、小结

       总体而言,本篇文章初步总结概括了大部分在基础编程题当中出现频率较大的一些重要知识点,并以脑图的形式展现出来。但还有一大部分知识点依旧未涉及到,剩余内容会在下篇针对简单应用题与综合应用题的总结中继续完善,最终的目的是得到一份能够涵盖编程题部分所有考点的知识点总结脑图!!!最后放一张总结至目前为止的知识点总结脑图。        有关于本篇文章的相关问题或者有Python二级题目不理解的小伙伴可以随时评论or私信我,看到后我都会逐一回复哒q(≧▽≦q)       PS:今年考完Python二级后才逐渐用Python做毕设、接小项目,目前也还是小白一枚,欢迎各位大佬批评指正! 基础编程题



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有