2026年计算机二级python上机考试题库及答案_第1页
2026年计算机二级python上机考试题库及答案_第2页
2026年计算机二级python上机考试题库及答案_第3页
2026年计算机二级python上机考试题库及答案_第4页
2026年计算机二级python上机考试题库及答案_第5页
已阅读5页,还剩20页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

2026年计算机二级python上机考试题库及答案一、单项选择题(每题1分,共30分)1.下列关于Python列表的说法正确的是A.列表元素必须同类型B.列表长度在创建后不可变C.列表支持嵌套D.列表不能作为字典的键答案:C2.执行以下代码后,变量s的值是s=[1,2,3];s=2s=[1,2,3];s=2A.[1,2,3,1,2,3]B.[2,4,6]C.[1,2,3,2]D.报错答案:A3.下列表达式值为True的是A.bool('False')B.bool([])C.bool(0.0)D.bool(None)答案:A4.对于字典d={'a':1,'b':2},执行d.update({'a':3,'c':4})后,d为A.{'a':1,'b':2,'c':4}B.{'a':3,'b':2,'c':4}C.{'a':3,'b':2}D.{'a':1,'b':2}答案:B5.下列关于Python异常处理正确的是A.一个try块只能对应一个except块B.finally块在return之后不会执行C.else块在try无异常时执行D.raise语句只能在except块中使用答案:C6.下列关于生成器描述错误的是A.使用yield返回数据B.生成器对象支持next()方法C.生成器占用内存比列表大D.生成器可以迭代答案:C7.表达式sorted([3,1,2],reverse=True)的结果是A.[1,2,3]B.[3,2,1]C.[3,1,2]D.报错答案:B8.下列关于lambda函数正确的是A.可以包含多条语句B.必须有returnC.可以作为参数传递D.不能使用默认参数答案:C9.对于集合s={1,2,3},执行s.add(2)后,s长度为A.2B.3C.4D.报错答案:B10.下列关于文件打开模式正确的是A.'r+'可读可写,文件必须存在B.'w+'可读可写,文件不存在则报错C.'a'写入时覆盖原有内容D.'b'只能与'w'连用答案:A11.表达式'{1},{0}'.format('A','B')的结果是A.'A,B'B.'B,A'C.'A,A'D.'B,B'答案:B12.下列关于模块导入正确的是A.import推荐在脚本头部使用A.import推荐在脚本头部使用B.frommodimport不会污染命名空间B.frommodimport不会污染命名空间C.模块文件名不能与标准库同名D.自定义模块必须放在site-packages目录答案:C13.表达式3<<2的值是A.6B.12C.24D.1答案:B14.下列关于类继承正确的是A.Python不支持多继承B.子类构造函数必须调用super()C.私有属性__x在子类中不可访问D.所有方法默认是虚函数答案:C15.表达式isinstance('abc',str)返回A.0B.FalseC.TrueD.报错答案:C16.下列关于装饰器正确的是A.装饰器必须返回函数对象B.装饰器不能带参数C.装饰器会改变原函数名D.装饰器在函数调用时执行答案:A17.表达式list(zip([1,2],['a','b']))的结果是A.[(1,'a'),(2,'b')]B.[[1,'a'],[2,'b']]C.{1:'a',2:'b'}D.报错答案:A18.下列关于线程正确的是A.threading.Thread必须重写run方法B.GIL保证同一时刻只有一个线程执行Python字节码C.多线程可充分利用多核CPUD.线程共享全局解释器锁答案:B19.表达式re.findall(r'\d+','a12b3c')的结果是A.['a12','b3']B.['1','2','3']C.['12','3']D.['12','3c']答案:C20.下列关于pandas的Series正确的是A.索引必须唯一B.数据必须同类型C.支持矢量化运算D.不能存储字符串答案:C21.下列关于NumPy正确的是A.ndarray支持元素级字符串拼接B.切片返回的是视图C.数组维度不可变D.不支持布尔索引答案:B22.表达式np.arange(6).reshape(2,3).sum(axis=0)结果是A.[357]B.[312]C.[6810]D.[35]答案:A23.下列关于matplotlib正确的是A.plt.show()必须位于脚本末尾B.plt.savefig()应在plt.show()之后C.plt.subplot(2,2,1)创建2行2列第1子图D.中文字符无需额外设置即可显示答案:C24.下列关于JSON正确的是A.Python集合可直接序列化B.json.dumps()返回字节串C.json.loads()可将字符串转为字典D.JSON键可用单引号答案:C25.表达式any([])返回A.TrueB.FalseC.0D.None答案:B26.下列关于虚拟环境正确的是A.venv创建的虚拟环境不可删除B.激活后python命令指向全局解释器C.虚拟环境可隔离第三方库D.虚拟环境必须放在系统目录答案:C27.表达式'{:.2f}'.format(3.1415)的结果是A.'3.14'B.'3.1415'C.'3.15'D.'3.14150'答案:A28.下列关于Python内存管理正确的是A.变量存储的是对象引用B.整数池只对0-100有效C.del语句立即回收对象内存D.循环引用无法被回收答案:A29.表达式set('abcb')的结果是A.{'a','b','c'}B.{'a','b','c','b'}C.{'abcb'}D.['a','b','c']答案:A30.下列关于PEP8正确的是A.行长度不得超过120字符B.函数名应使用驼峰命名C.模块级常量应全大写D.import语句可放在函数内部任意位置答案:C二、多项选择题(每题2分,共20分)31.下列属于Python不可变对象的有A.tupleB.frozensetC.intD.list答案:A,B,C32.关于列表推导式,正确的有A.[xforxinrange(5)ifx%2==0]B.[xifx>0else0forxin[-1,2]]C.支持嵌套循环D.可生成集合答案:A,B,C,D33.下列可以正确创建空字典的有A.{}B.dict()C.dict([])D.set()答案:A,B,C34.下列关于函数参数正确的是A.支持默认参数B.支持关键字参数C.支持可变长参数argsC.支持可变长参数argsD.参数顺序无限制答案:A,B,C35.下列关于pandas的DataFrame正确的是A.列可以不同数据类型B.可通过列名索引C.支持缺失值D.行索引必须唯一答案:A,B,C36.下列关于迭代器正确的是A.实现__iter__与__next__B.for循环自动捕获StopIterationC.迭代器只能遍历一次D.列表是迭代器答案:A,B,C37.下列关于Python文件操作正确的是A.with语句可自动关闭文件B.readlines()返回列表C.write()参数必须是字符串D.seek(0)移动到文件头答案:A,B,C,D38.下列关于正则表达式正确的是A.\d匹配数字B.re.I表示忽略大小写C.re.S使.匹配换行D.re.M影响^与$行为答案:A,B,C,D39.下列关于Python包正确的是A.目录需包含__init__.pyB.可用相对导入C.可嵌套子包D.包名可与模块名重复答案:A,B,C40.下列关于Python性能优化正确的是A.列表推导式比for快B.局部变量比全局快C.join比+拼接字符串快D.使用map比列表推导式慢答案:A,B,C三、填空题(每空2分,共30分)41.表达式[1,2]2的结果是________。41.表达式[1,2]2的结果是________。答案:[1,2,1,2]42.表达式'{x}'.format(x=5)的结果是________。答案:'5'43.表达式list(map(str,[1,2]))的结果是________。答案:['1','2']44.表达式set([1,2,2])&set([2,3])的结果是________。答案:{2}45.表达式sorted('cba')的结果是________。答案:['a','b','c']46.表达式'Python'.upper()[::-1]的结果是________。答案:'NOHTYP'47.表达式sum(range(1,10,2))的结果是________。答案:2548.表达式len('中文'.encode('utf-8'))的结果是________。答案:649.表达式bool('0')的结果是________。答案:True50.表达式3and5的结果是________。答案:551.表达式'all([True,False,True])'的结果是________。答案:False52.表达式'importthis'.count('i')的结果是________。答案:253.表达式'{:.0%}'.format(0.85)的结果是________。答案:'85%'54.表达式list(filter(None,[0,1,2]))的结果是________。答案:[1,2]55.表达式'hello'.find('l',3)的结果是________。答案:3四、程序填空题(每空3分,共30分)56.补全代码,输出列表中第二大的元素:lst=[3,1,4,2]unique=list(set(lst))unique.________()print(unique[-2])答案:sort57.补全代码,统计字符串中单词个数:importres='Helloworld!'words=re.findall(r'________',s)print(len(words))答案:r'\b\w+\b'58.补全代码,实现列表元素平方:lst=[1,2,3]sq=[________forxinlst]print(sq)答案:xx答案:xx59.补全代码,将字典按键排序后输出元组列表:d={'b':2,'a':1}print(sorted(________))答案:d.items()60.补全代码,使用with写入文件:withopen('out.txt','________')asf:f.write('ok')答案:'w'61.补全代码,捕获除零异常:try:x=1/0except________:print('error')答案:ZeroDivisionError62.补全代码,生成斐波那契数列前10项:a,b=0,1for_inrange(10):print(a,end='')a,b=b,________答案:a+b63.补全代码,使用lambda排序元组列表第二项:data=[(1,3),(2,1)]data.sort(key=lambdax:________)print(data)答案:x[1]64.补全代码,将列表转为逗号分隔字符串:lst=['A','B']s=________.join(lst)print(s)答案:','65.补全代码,使用random模块生成[1,100]随机整数:importrandomprint(random.________(1,100))答案:randint五、程序改错题(每题5分,共20分)66.以下程序欲输出列表中偶数,找出并改正错误:lst=[1,2,3,4]forxinlst:ifx%2=0:print(x)答案:将=改为==67.以下程序欲打开文件并读取第一行,改正错误:f=open('data.txt','r')line=f.readLine()print(line)答案:readLine改为readline68.以下程序欲计算阶乘,改正错误:deffac(n):ifn=0:return1returnnfac(n-1)returnnfac(n-1)print(fac(5))答案:将n=0改为n==069.以下程序欲使用字典计数,改正错误:s='abc'd={}forchins:d[ch]=+1print(d)答案:=+改为+=六、简答题(每题10分,共30分)70.简述Python中浅拷贝与深拷贝的区别,并给出示例。答案:浅拷贝只复制对象顶层,嵌套对象共享引用;深拷贝递归复制所有层级。示例:importcopya=[[1,2],3]b=copy.copy(a)c=copy.deepcopy(a)a[0].append(3)print(b)#[[1,2,3],3]print(c)#[[1,2],3]71.说明GIL对多线程程序的影响,并给出规避方案。答案:GIL使同一时刻仅一个线程执行Python字节码,CPU密集型多线程无法并行。规避:使用多进程multiprocessing、C扩展、Cython、Jython或异步IO。72.描述使用with管理上下文的优势,并自定义一个支持with的类。答案:with确保资源正确释放,异常时也能清理。示例:classManaged:def__enter__(self):print('enter')returnselfdef__exit__(self,exc_type,exc_val,exc_tb):print('exit')withManaged()asm:print('doing')七、应用题(共40分)73.综合题:学生成绩分析(20分)需求:读取csv文件,包含字段id,name,score,统计平均分、最高分、最低分,输出成绩等级分布(A:90-100,B:80-89,C:70-79,D:60-69,E:<60),并绘制柱状图。答案:importpandasaspdimportmatplotlib.pyplotaspltdf=pd.read_csv('score.csv')avg=df['score'].mean()maxs=df['score'].max()mins=df['score'].min()bins=[0,60,70,80,90,101]labels=['E','D','C','B','A']df['level']=pd.cut(df['score'],bins=bins,labels=labels,right=False)cnt=df['level'].value_counts().sort

温馨提示

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

评论

0/150

提交评论