2026年全国计算机等级考试Python编程真题及答案_第1页
2026年全国计算机等级考试Python编程真题及答案_第2页
2026年全国计算机等级考试Python编程真题及答案_第3页
2026年全国计算机等级考试Python编程真题及答案_第4页
2026年全国计算机等级考试Python编程真题及答案_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年全国计算机等级考试Python编程真题及答案一、选择题(每题2分,共40分)1.下列选项中,不属于计算机高级程序设计语言的是()A.PythonB.JavaC.汇编语言D.C++答案:C解析:计算机程序设计语言分为低级语言和高级语言,低级语言包括机器语言和汇编语言,其特点是直接面向硬件,可移植性差、可读性差;高级语言是面向用户的、远离硬件直接操作的编程语言,具有可读性好、可移植性强的特点,Python、Java、C++均属于高级语言,汇编语言属于低级语言。2.对于长度为n的有序线性表,最坏情况下二分法查找的时间复杂度为()A.O(n)B.O(n²)C.O(log₂n)D.O(nlog₂n)答案:C解析:二分法查找仅适用于有序线性表,每次查找都会将查找范围缩小一半,最坏情况下需要比较log₂n次,因此时间复杂度为O(log₂n),顺序查找最坏情况下的时间复杂度为O(n)。3.下列关于栈和队列的描述中,正确的是()A.栈是先进先出的线性表B.队列是后进先出的线性表C.栈只能在栈顶插入和删除元素D.队列只能在队头插入元素答案:C解析:栈是限定在栈顶进行插入和删除操作的线性表,特点是后进先出;队列是限定在队尾插入、队头删除操作的线性表,特点是先进先出,因此只有C选项描述正确。4.结构化程序设计的三种基本控制结构是()A.顺序结构、选择结构、循环结构B.输入结构、处理结构、输出结构C.递归结构、循环结构、选择结构D.嵌套结构、顺序结构、选择结构答案:A解析:结构化程序设计的核心思想是自顶向下、逐步求精,规定三种基本控制结构:顺序结构、选择分支结构、循环结构,任何复杂程序都可以通过这三种结构组合实现。5.在Python中,下列不属于合法变量名的是()A._abc123B.123abcC.price_D.DateOfBirth答案:B解析:Python变量名命名规则为:只能由字母、数字、下划线组成,不能以数字开头,不能使用Python保留关键字,区分大小写,选项B以数字开头,不符合命名规则,因此不是合法变量名。6.执行语句s="PythonProgramming"之后,s[3:8]的结果是()A.'honPr'B.'honPro'C.'onPro'D.'nProg'答案:B解析:Python字符串切片语法为s[起始索引:结束索引],左闭右开,起始索引从0开始计数,s字符串索引为0:P,1:y,2:t,3:h,4:o,5:n,6:P,7:r,8:o,因此切片s[3:8]包含索引3到7的字符,为honPro,即'honPro',因此选B。7.下列哪个语句在Python中是非法的()A.x=y=z=10B.x=(y=z+1)C.x,y=y,xD.x+=y答案:B解析:Python中不允许将赋值表达式作为右值赋值给其他变量,选项B中y=z+1是赋值语句,没有返回值,不能作为表达式赋值给x,因此语法非法。8.下列Python数据类型中,不属于可变数据类型的是()A.列表B.字典C.元组D.集合答案:C解析:可变数据类型指变量值改变后,内存地址不变,即允许修改原对象中的值,Python中列表、字典、集合都是可变类型,字符串、数字、元组是不可变类型,修改元组的值会创建新对象,因此选C。9.运行以下代码,输出结果是()a=[1,2,3,4,5]print(a[::-2])A.[1,3,5]B.[5,3,1]C.[1,2,3,4,5]D.[5,4,3,2,1]答案:B解析:切片语法中第三个参数是步长,负数代表逆序遍历,步长为2代表每隔一个取一个,原列表逆序后为[5,4,3,2,1],隔一个取第一个、第三个、第五个,结果为[5,3,1],因此选B。10.关于Python函数的描述,错误的是()A.函数执行完毕后会自动释放局部变量B.函数可以没有return语句C.Python中不允许函数嵌套定义D.默认参数必须放在非默认参数之后答案:C解析:Python允许函数嵌套定义,即在一个函数内部定义另一个函数,因此C选项描述错误;A选项局部变量的作用域是函数内部,函数执行结束后局部变量会被回收,正确;B选项没有return语句的函数默认返回None,正确;D选项Python语法规定默认参数必须定义在非默认参数之后,否则会引发语法错误,正确。11.运行以下代码,输出结果是()deffunc(x=1,y=2):x+=yreturnxprint(func())A.1B.2C.3D.报错答案:C解析:函数参数使用默认值,调用func不传参数时,x取默认值1,y取默认值2,x=1+2=3,返回值为3,因此输出3,选C。12.下列关于Python文件操作的描述,正确的是()A.打开文件使用open函数,默认打开模式为可写B.以'r+'模式打开文件,可以同时进行读写操作C.关闭文件只能调用close()方法实现D.读取文本文件时,readline()方法会一次性读取所有内容答案:B解析:open函数默认打开模式是'r',即只读,A错误;'r+'模式是读写模式,打开文件后指针在文件开头,可以同时读写,B正确;Python中可以使用with语句自动关闭文件,不需要手动调用close,C错误;readline()每次读取一行,read()才会读取所有内容,D错误。13.以下哪个不是Python的第三方库()A.jiebaB.mathC.pandasD.wordcloud答案:B解析:math是Python标准库,安装Python后默认自带,不需要额外安装,因此不属于第三方库,jieba、pandas、wordcloud都需要安装后使用,属于第三方库,选B。14.运行以下代码,输出结果是()d={'a':1,'b':2,'c':3}print(list(d.values()))A.['a','b','c']B.[1,2,3]C.[('a',1),('b',2),('c',3)]D.报错答案:B解析:字典的values()方法返回所有值的视图对象,转换为列表后就是所有值组成的列表,因此结果是[1,2,3],选B。15.关于异常处理的描述,错误的是()A.try块中放置可能出现异常的代码B.一个try块只能对应一个except块C.finally块无论是否发生异常都会执行D.except块可以捕获指定类型的异常答案:B解析:一个try块可以对应多个except块,用来捕获不同类型的异常,分别处理,因此B描述错误。16.想要生成一个[1,100]之间的随机整数,下列表达式正确的是()A.random.randint(1,100)B.random.random(1,100)C.random.uniform(1,100)D.random.choice(1,100)答案:A解析:random模块中,randint(a,b)生成[a,b]之间的整数,符合要求;random()生成[0,1)之间的浮点数,不接受参数;uniform(a,b)生成[a,b]之间的浮点数;choice()从序列中随机选择一个元素,参数是序列,因此只有A正确。17.使用jieba库进行分词,默认的分词模式是()A.精确模式B.全模式C.搜索引擎模式D.复杂模式答案:A解析:jieba分词有三种模式:精确模式、全模式、搜索引擎模式,默认是精确模式,该模式会将句子最精确的切开,适合文本分析,选A。18.下列关于面向对象的描述,错误的是()A.类是对象的抽象,对象是类的实例B.类的构造方法名称是__init__C.Python中继承不允许多重继承D.封装指将数据和操作绑定在一起,隐藏内部实现细节答案:C解析:Python支持多重继承,即一个子类可以继承多个父类,因此C描述错误。19.关于Python的lambda表达式,描述正确的是()A.lambda表达式可以包含多个语句B.lambda表达式也叫匿名函数C.lambda表达式不能作为参数传递给函数D.lambda表达式必须有返回值,因此必须写return语句答案:B解析:lambda表达式是Python的匿名函数,只能包含一个表达式,自动返回表达式的结果,不需要写return,可以作为参数传递给高阶函数,因此只有B描述正确。20.以下代码运行后,循环执行的次数是()count=0foriinrange(1,10):forjinrange(i,10):count+=1print(count)A.45B.55C.10D.9答案:A解析:外层循环i从1到9,共9次,当i=1时,内层j从1到9,执行9次;i=2时,j从2到9,执行8次;以此类推,总次数是9+8+…+1=(9*10)/2=45次,因此选A。二、基本操作题(共3小题,第1小题4分,第2、3小题各5.5分,满分15分)1.题目:编写Python程序,接收用户输入的一个三位自然数(100~999之间),计算并分别输出其百位、十位、个位上的数字,每个数字占一行输出。参考代码:num=int(input("请输入一个三位自然数:"))hundred=num//100ten=(num//10)%10single=num%10print(hundred)print(ten)print(single)解析:本题主要考察整数的运算和输入输出,利用整除和取模运算拆分各位数字,三位整数整除100得到百位数字,整除10后对10取模得到十位数字,对10取模得到个位数字,逐行输出即可满足要求,输入123时输出结果为1、2、3,符合计算逻辑。2.题目:已知列表list1=[12,34,56,78,90,23,45,67,89,100],请编写程序,删除列表中索引为2、5、7的元素,最终输出删除后的列表。参考代码:list1=[12,34,56,78,90,23,45,67,89,100]dellist1[7]dellist1[5]dellist1[2]print(list1)解析:本题考察列表元素的删除操作,需要注意删除靠前的元素会导致列表长度变化,后面元素的索引都会前移,如果按从小到大顺序删除会导致删除错误,因此需要从索引大到小依次删除,或者通过列表推导式筛选保留不在待删除索引中的元素,两种方法都可以得到正确结果,本题最终输出结果为[12,34,78,90,45,89,100]。3.题目:编写程序,使用循环结构计算算式`1-1/2+1/3-1/4+…+1/99-1/100`的结果,要求输出结果保留4位小数。参考代码:result=0sign=1#符号位,奇数项为正,偶数项为负foriinrange(1,101):result+=sign*(1/i)sign=-signprint("{:.4f}".format(result))解析:本题考察循环结构和逻辑设计,观察算式规律,分母为奇数的项符号为正,分母为偶数的项符号为负,通过一个符号位变量每次循环后取反,即可控制每一项的符号,累加后格式化输出保留4位小数即可,本题计算结果约为0.6882,符合计算结果要求。三、简单应用题(满分20分)题目:考生文件夹下存在文本文件data.txt,文件中存储了一篇英文文章,所有单词以空格分隔,统计不区分大小写。请编写程序统计每个单词出现的次数,将出现次数大于5次的单词按照出现次数降序排序,输出结果格式为`单词:次数`,每个单词占一行,输出到考生文件夹下的result.txt文件中。参考代码:withopen('data.txt','r',encoding='utf-8')asf:content=f.read().lower()#统一转换为小写,不区分大小写words=content.split()word_count={}forwordinwords:ifwordinword_count:word_count[word]+=1else:word_count[word]=1result_list=sorted([(k,v)fork,vinword_count.items()ifv>5],key=lambdax:-x[1])withopen('result.txt','w',encoding='utf-8')asf:foriteminresult_list:f.write(f"{item[0]}:{item[1]}\n")解析:本题主要考察文件读写、字典统计、列表排序操作,核心考点是题目要求不区分大小写,因此需要将所有单词统一转换为小写或大写,避免同一个单词因为大小写不同被统计为两个不同单词;筛选后使用sorted函数排序,通过lambda表达式指定排序键为次数,降序排列;最后按要求格式写入文件,符合题目要求。本题评分点分为:文件读取正确得3分,不区分大小写处理得4分,词频统计正确得5分,筛选排序正确得4分,结果输出格式正确得4分,满分20分,需要注意编码格式和输出格式,避免格式错误扣分。四、综合应用题(满分25分)题目:考生文件夹下存在csv格式的商品销售数据文件goods.csv,文件包含表头,共五个字段,分别为`商品ID,分类,价格,销量,好评率`,其中价格为浮点数,销量为整数,好评率为0到1之间的浮点数。请编写Python程序,使用pandas库完成以下操作:1.读取goods.csv文件,正确识别表头;2.计算所有商品的平均价格,保留2位小数输出到屏幕;3.统计销量大于等于1000的商品总数量,输出到屏幕;4.提取所有分类为`数码产品`的商品,将提取出的商品按照好评率从高到低排序,将排序后的结果保存为新文件`digital_goods.csv`,不保存行索引。参考代码:importpandasaspddf=pd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论