版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长风破浪会有时,直挂云帆济沧海。2023年计算机二级-Python语言程序设计考试历年真题选编含答案(图片大小可自由调整)第一卷一.单选题(共15题)1.以下不是程序输出结果的选项是:importrandomasrls1=[12,34,56,78]r.shuffle(ls1)print(ls1)A.[12,78,56,34]C.[12,34,56,78]D.[12,78,34,56]2.以下程序的输出结果是:s=0try:s+=numreturnsexcept:return0return5print(fun(2))A.0B.2C.UnboundLocalErrorD.53.函数表达式all([1,True,True])的结果是:A.无输出C.出错D.True4.下列关于栈的叙述中正确的是A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表5.下列不属于结构化分析的常用工具的是A.判定树B.数据字典D.PAD图6.以下关于文件的描述,错误的是:A.二进制文件和文本文件的操作步骤都是“打开-操作-关闭”B.open()打开文件之后,文件的内容并没有在内存中C.open()只能打开一个已经存在的文件D.文件读写之后,要调用close()才能确保文件被保存在磁盘中了7.以下不属于Python的pip工具命令的选项是:A.showB.installC.downloadD.get8.以下选项错误描述的是A.DDL是数据定义语言B.DML是数据操纵语言C.DCL是数据控制语言D.DBMS是数据库系统A.6,2B.6C.2D.(6,2)10.以下表达式,正确定义了一个集合数据对象的是:B.x=(200,’flg’,20.3)C.x=[200,’flg’,20.3]D.x={‘flg’:20.3}11.执行以下程序,输入”93python22”,输出结果是:w=input(‘请输入数字和字母构成的字符串:’)if'0'A.python9322B.pythonD.932212.一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用A.栈B.堆C.链表D.数组13.执行以下程序,输入la,输出结果是:la='python'try:s=eval(input('请输入整数:'))ls=s*2print(ls)print('请输入整数')A.laB.请输入整数C.pythonpython14.以下关于数据维度的描述,错误的是:A.采用列表表示一维数据,不同数据类型的元素是可以的B.JSON格式可以表示比二维数据还复杂的高维数据C.二维数据可以看成是一维数据的组合形式D.字典不可以表示二维以上的高维数据15.以下程序输出到文件text.csv里的结果是:fo=open("text.csv",'w')x=[90,87,93]z=[]foryinx:z.append(str(y))fo.close()A.[90,87,93]B.90,87,93C.‘[90,87,93]’D.‘90,87,93’二.问答题(共2题)1.请分别举例说明遍历列表、元组、字典和集合中各元素的方法。2.请用Python语言编写一个简易的猜数字游戏程序。第一卷参考答案一.单选题1.正确答案:C2.正确答案:A3.正确答案:D4.正确答案:D5.正确答案:C6.正确答案:C7.正确答案:D8.正确答案:D9.正确答案:D10.正确答案:A11.正确答案:C12.正确答案:A13.正确答案:C14.正确答案:D15.正确答案:B二.问答题1.正确答案:列表:列表与for循环语句配合使用,可实现对列表各个元素的遍历。foriinlist:print("序号:%s值:%s"%(list.index(i)+1,i))元组:元组与for循环语句配合使用,可实现对元组各个元素的遍历。示例同列表。字典:遍历字典的关键字:d.keys():返回一个包含字典所有关键字的列表,所以对字典关键字的遍历转换为对列表的遍历。遍历字典的值:d.values():返回一个包含字典所有值的列表,所以对字典值的遍历转换为对列表的遍历。遍历字典的元素:d.items():返回一个包含所有(关键字,值)元组的列表,所以对字典元素的遍历转换为对列表的遍历。集合:集合与for循环语句配合使用,可实现对集合各个元素的遍历。2.正确答案:importrandomanswer=random.randint(1,10)print('猜数游戏')num=input('请输入你猜测的数字\n')guess=int(num)n=0whilenanswer:print('不对哦,太大了')elifguess==answer:print('么么哒。对啦')num=input('请你重新输入\n')guess=int(num)n=n+1ifn==1andguess==answer:print('可以哦,第二次就对了')breakelifn==2andguess==answer:print('还行,终于猜出来了')breakelifn==2andguess!=answer:print('不行哦,三次都不对')breakprint('游戏结束')第二卷一.单选题(共15题)1.为了提高测试的效率,应该A.随机选取测试数据B.在完成编码以后制定软件的测试计划C.取一切可能的输入数据作为测试数据D.集中对付那些错误群集的程序2.以下程序的输出结果是:deftest(b=2,a=4):globalzz+=a*breturnzz=10print(z,test())A.18NoneB.1018C.UnboundLocalErrorD.18183.以下选项,不是Python保留字的选项是:A.delB.passC.notD.string4.下面不属于软件设计原则的是A.抽象B.模块化C.信息隐蔽D.自底向上5.表达式eval('500/10')的结果是:A.‘500/10’B.500/10C.50D.50.06.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和A.可重用性差B.冗余性C.非持久性D.安全性差7.以下对数值运算操作符描述错误的选项是:A.Python提供了9个基本的数值运算操作符B.Python数值运算操作符也叫做内置操作符C.Python二元数学操作符都有与之对应的增强赋值操作符D.Python数值运算操作符需要引用第三方库math8.以下程序的输出结果是:img1=[12,34,56,78]img2=[1,2,3,4,5]defdispl():print(img1)defmodi():img1=img2modi()displ()A.([1,2,3,4,5])B.[12,34,56,78]C.([12,34,56,78])D.[1,2,3,4,5]9.运行以下程序,x=eval(input())y=eval(input())print(abs(x+y))从键盘输入1+2与4j,则输出结果是:A.5B.C.D.5.010.算法的时间复杂度是指A.执行算法程序所需要的时间B.算法程序的长度C.算法程序中的指令条数D.算法执行过程中所需要的基本运算次数11.以下程序的输出结果是:ls=list({'shandong':200,'hebei':300,'beijing':400})print(ls)A.['300','200','400']B.['shandong','hebei','beijing']C.[300,200,400]D.'shandong','hebei','beijing'12.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送A.调用语句B.命令C.口令D.消息13.设str='python',想把字符串的第一个字母大写,其他字母还是小写,正确的选项是:A.print(str[0].upper()+str[1:])B.print(str[1].upper()+str[-1:1])C.print(str[0].upper()+str[1:-1])D.print(str[1].upper()+str[2:])14.Python语言中,以下表达式输出结果为11的选项是:A.print("1+1")B.print(1+1)C.print(eval("1+1"))D.print(eval("1"+"1"))15.以下程序的输出结果是:deffun1(a,b,*args):print(a)print(b)print(args)fun1(1,2,3,4,5,6)A.12[3,4,5,6]B.1,2,3,4,5,6C.123,4,5,6D.12(3,4,5,6)二.问答题(共2题)1.简述元组与列表的异同。并简述它们各自的用途。2.请简述Python中类对象与实例对象、类属性与实例属性各自的区别?并简述它们各自的用途。第二卷参考答案一.单选题1.正确答案:D2.正确答案:B3.正确答案:D4.正确答案:D5.正确答案:D7.正确答案:D8.正确答案:B9.正确答案:D11.正确答案:B12.正确答案:D13.正确答案:A二.问答题1.正确答案:Python元组和列表一样,都是有序序列,在很多情况下可以相互替换,很多操作也类似,但它们也有区别:元组是不可变的序列类型,元组能对不需要改变的数据进行写保护,使数据更安全。列表是可变的序列类型,可以添加、删除或搜索列表中的元素。元组使用小括号定义用逗号分隔的元素,而列表中的元素应该包括在中括号中。虽然元组使用小括号,但访问元组元素时,要使用中括号按索引或分片来获得对应元素的值。元组可以在字典中作为关键字使用,而列表不能作为字典关键字使用,因为列表不是不可改变的。只要不尝试修改元组,那么大多数情况下把它们作为列表来进行操作用途:列表可被用于保存多个互相独立对象的数据集合元组用于描述一个不会改变的事务的多个属性2.正确答案:类对象与实例对象的区别:在一个类中,类对象只有一个,但实例对象可以有多个。类对象在定义类后便自然存在,而实例对象需要人为创建。类属性与实例属性的区别:实例属性是实例对象所特有的。类对象并不拥有实例属性,所以不能通过类对象来访问实例属性。实例属性也只能用实例对象来访问,不能用类对象来访问实例属性。类属性即可用类对象访问,也可用实例对象访问。请简述Python中类对象与实例对象、类属性与实例属性各自的区别?并简述它们各自的用途。第三卷一.单选题(共15题)1.数据库应用系统中的核心问题是A.数据库管理员培训B.数据库维护C.数据库系统设计D.数据库设计2.用Pyinstall工具把Python源文件打包成一个独立的可执行文件,使用的参数是:A.-DB.-LC.-iD.-F3.执行以下程序,输入qp,输出结果是:k=0whileTrue:s=input('请输入q退出:')ifs=='q':k+=1continueelse:k+=2breakprint(k)A.2B.请输入q退出:C.3D.14.软件开发的结构化生命周期方法将软件生命周期划分成A.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计5.下列有关数据库的描述,正确的是A.数据库是一个关系B.数据库是一个DBF文件C.数据库是一个结构化的数据集合D.数据库是一组文件6.表达式type(eval('45'))的结果是:A.B.C.NoneD.A.错误推测法B.白箱测试法C.黑箱测试法D.安装测试法8.以下关于列表和字符串的描述,错误的是:A.列表使用正向递增序号和反向递减序号的索引体系B.列表是一个可以修改数据项的序列类型C.字符和列表均支持成员关系操作符(in)和长度计算函数(len())D.字符串是单一字符的无序组合9.在E-R图中,哪个选项是用来表示联系的图形A.矩形B.椭圆形C.三角形D.菱形try:num=eval(input("请输入一个列表:"))num.reverse()print(num)except:print("输入的不是列表")从键盘上输入1,2,3,则输出的结果是:A.[1,2,3]B.[3,2,1]C.运算错误11.以下关于循环结构的描述,错误的是:A.遍历循环使用forin语句,其中循环结构不能是文件B.使用range()函数可以指定for循环的次数C.foriinrange(5)表示循环5次,i的值是从0到412.str="Python语言程序设计",表达式str.isnumeric()的结果是:A.TrueB.1C.0D.False13.已知id(ls1)=4404896968,以下程序的输出结果是:ls1=[1,2,3,4,5]ls2=ls1ls3=ls1.copy()print(id(ls2),id(ls3))A.44048969684404896904B.44048969044404896968C.44048969684404896968D.4404896904440489690414.下列叙述中正确的是B.一个算法的空间复杂度大,则其时间复杂度也必定大C.算法的时间复杂度与空间复杂度没有直接关系D.一个算法的时间复杂度大,则其空间复杂度必定小15.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有A.特定的数据模型B.数据无冗余C.专门的数据管理软件D.数据可共享二.问答题(共2题)1.请分别简述利用thinter模块、turtle模块和graphics模块绘图时各自的绘图步骤。2.请用Python语言编写一个简易的计算器程序。第三卷参考答案一.单选题1.正确答案:D2.正确答案:D3.正确答案:A4.正确答案:A5.正确答案:C6.正确答案:D7.正确答案:C8.正确答案:D9.正确答案:D10.正确答案:D11.正确答案:A12.正确答案:D13.正确答案:A14.正确答案:C15.正确答案:A二.问答题1.正确答案:thinter模块:·1.导入Tkinter模块2.创建控件3.指定这个控件的master,即这个控件属于哪一个4.告诉GM(geometrymanager)有一个控件产生了。turtle模块:1.引入turtle模块2.创建画布。调用turtle中的Pen函数。3.移动海龟。4.提起画笔graphics模块:1.导入graphics模块包2.使用GraphWin4.调用draw()方法,绘制2.正确答案:fromtkinterimport*reset=Truegloballabelglobalresetnum=event.widget['text']ifnum=='C':label['text']="0"returnifnumin"=":label['text']=str(eval(label['text']))reset=Truereturns=label['text']ifs=='0'orreset==True:s=""reset=Falselabel['text']=s+num#主窗口root=Tk()root.wm_title("计算器")#显示栏1label=Label(root,text="0",background="white",anchor="e")label['width']=35label['height']=2label.grid(row=1,columnspan=4,sticky=W)#按钮showText="789/456*123-0.C+"foriinrange(4):forjinrange(4):b=Button(root,text=showText[i*4+j],width=7)b.grid(row=i+2,column=j)b.bind("",buttonCallBack)showText="()"foriinrange(2):b=Button(root,text=showText[i],width=7)b.grid(row=6,column=2+i)b.bind("",buttonCallBack)b=Button(root,text="=")b.grid(row=6,columnspan=2,sticky="we")b.bind("",buttonCallBack)root.mainloop()第四卷一.单选题(共15题)1.表达式1001==0x3e7的结果是:A.falseB.FalseC.trueD.True2.以下选项,不属于程序流程图基本元素的是:A.循环框B.连接点C.判断框D.起始框defhub(ss,x=2.0,y=4.0):ss+=x*yss=10print(ss,hub(ss,3))A.22.0NoneB.10NoneC.22NoneD.10.022.04.下面不属于软件工程的3个要素的是A.工具B.过程C.方法D.环境5.软件开发离不开系统环境资源的支持,其中必要的测试数据属于A.辅助资源B.硬件资源C.通信资源D.支持软件6.以下关于函数的描述,错误的是:A.函数是一种功能抽象B.使用函数的目的只是为了增加代码复用C.函数名可以是任何有效的Python标识符D.使用函数后,代码的维护难度降低了7.以下程序的输出结果是:ss=list(set("jzzszyj"))ss.sort()print(ss)A.['z','j','s','y']B.['j','s','y','z']C.['j','z','z','s','z','y','j']D.['j','j','s','y','z','z','z']8.在软件开发中,需求分析阶段产生的主要文档是A.用户手册B.软件集成测试计划C.软件详细设计说明书D.软件需求规格说明书9.以下关于turtle库的描述,正确的是:B.要用fromturtleimportturtle来导入所有的库函数C.home()函数设置当前画笔位置到原点,朝向东D.seth(x)是setheading(x)函数的别名,让画笔向前移动x10.以下Python语言关键字在异常处理结构中用来捕获特定类型异常的选项是:A.forB.lambdaC.inD.expect11.以下程序的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论