河北省石家庄市全国计算机等级考试Python语言程序设计专项练习(含答案)_第1页
河北省石家庄市全国计算机等级考试Python语言程序设计专项练习(含答案)_第2页
河北省石家庄市全国计算机等级考试Python语言程序设计专项练习(含答案)_第3页
河北省石家庄市全国计算机等级考试Python语言程序设计专项练习(含答案)_第4页
河北省石家庄市全国计算机等级考试Python语言程序设计专项练习(含答案)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

河北省石家庄市全国计算机等级考试Python语言程序设计专项练习(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.下载但不安装一个第三方库的命名格式是()。

A.pipdownload<第三方库名>

B.pipuninstall<第三方库名>

C.pipinstall<第三方库名>

D.pipsearch<第三方库名>

2.以下关于Python字符编码的描述中,正确的是()。

A.Python字符编码使用ASCII值存储

B.chr(x)和ord(x)函数用于在单字符和Unicode值之间进行转换

C.print(chr('a’))输出97

D.print(ord(65))输出A

3.下面不属于Python的标准库的是()。

A.timeB.turtleC.pygameD.random

4.S=’1234567890’,以下表示’1234’的选项是()。

A.s[1:5]B.s[0:3]C.s[一10:-5]D.s[0:4]

5.执行以下代码的结果是()A.12B.24C.36D.48

6.算法的空间复杂度是指()。

A.算法在执行过程中所需要的计算机存储空间

B.算法所处理的数据量

C.算法程序中的语句或指令条数

D.算法在执行过程中所需要的临时工作单元数

7.以下程序的输出结果是()。Is=[‘book’,666,[2018,‘python’,314],20]print(ls[2][1][-2])

A.nB.pythonC.oD.结果错误

8.若想要在屏幕上打印输出Hello,World,应该使用下列哪个语句?()

A.printf(”Hello,World”)

B.printf(Hello,World)

C.print(”Hello,World”)

D.print(Hello,World)

9.如果一个函数没有return语句,调用它后的返回值为()

A.0B.TrueC.FalseD.None

10.以下选项中Python不支持的数据类型是()。A.intB.charC.floatD.list

11.以下选项中不是Python文件读/写操作方法的是()。

A.write()B.writelines()C.readtext()D.read()

12.如果Python程序执行时产生了“TypeError”的错误,其原因是()。

A.代码中的数据类型不匹配B.代码中使用了错误的关键字C.代码中缺少“:”符号D.代码里的语句嵌套层次太多

13.以下关于数据维度的描述,错误的是()。

A.列表的索引值是大于0小于列表长度的整数

B.JSON格式可以表示比二维数据还复杂的高维数据

C.二维数据可以看成是多条一维数据的组合形式

D.csv文件既能保存一维数据,也能保存二维数据

14.以下程序的输出结果是()。t="theWorldissobig,Iwanttosee"s=t[20:21]+'love'+t[:9]print(s)A.Ilovethe

B.IloveWorld

C.IlovetheWorld

D.IlovetheWorl

15.软件生命周期是指()。A.软件产品从提出、实现、使用维护到停止使用退役的过程

B.软件从需求分析、设计、实现到测试完成的过程

C.软件的开发过程

D.软件的运行维护过程

16.下面关于Python中函数参数的说法错误的是()。

A.在函数定义时必须固定参数的数量

B.使用位置参数传参时实参的数量和顺序必须和函数声明时的参数一样

C.若是参数有默认值,在调用函数时没有给参数赋值,调用的函数就会使用这个默认值

D.关键字参数传参是指在调用函数时通过参数名传递值

17.在面向对象方法中,不属于“对象”基本特点的是A.一致性B.分类性C.多态性D.标识唯一性

18.设栈与队列初始状态为空。首先A,B,C,D,E依次人栈,再F,G,H,I,J依次入队;然后依次出栈至栈空,再依次出队至队空。则输出序列为()。

A.F,G,H,I,J,A,B,C,D,E

B.F,G,H,I,J,E,D,C,B,A

C.E,D,C,B,A,J,I,H,G,F

D.E,D,C,B,A,F,G,H,I,J

19.下面代码的输出结果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))

A.24B.4C.0D.10

20.以下关于Python处理二进制文件的描述中,错误的是()。

A.Python不可以处理PDF文件

B.Python能处理Excel文件

C.Python能处理音频文件

D.Python能处理图形图像文件

21.假设有一个包含一个函数的程序放在一个文件中,在主程序文件中使用下面各种方法来导入它,方法错误的是()。

A.importmodule

B.frommoduleasfimportfunction

C.importmoduleasm

D.frommoduleimport*

22.类中的实例方法,总会有一个参数()

A.selfB.clsC.@staticmethodD.@classmethod

23.假设现在是2018年10月1日的下午2点20分7秒,则下面程序的输出结果为()。importtimeprint(time.strftime(“%y-%m-%d@%Y-%M-%D”,time.gmtime()))

A.2018-10-1@14-20-7

B.2018-10-1@14-20-07

C.2018-10-01@-14-20-07

D.True@True

24.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。

A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA

25.以下代码的输出结果是()。d={’food’:{’cake’:1,’egg’:5}}print(d.get(’egg’,’nothisfood’))

A.eggB.1C.foodD.nothisfood

26.下面代码的输出结果为()。foriinrange(8):ifi%2!=1:continueelse:print(i,end=”,”)

A.0,B.1,C.1,3,5,7,D.0,2,4,6,

27.下面代码的输出结果是()。letter=[’A’,’B’,’C’,’D’,’D’,’D’]foriinletter。:ifi==’D’:letter.remove(i)print(letter’)

A.[’A’,’B’,’C’]

B.[’A’,’B’,’C’,’D’,’D’]

C.[’A’,’B’,’C’,’D’,’D’,’D’]

D.[’A’,’B’,’C’,’D’]

28.不属于Python数据分析及可视化处理第三方库的是()。

A.seabornB.randomC.mayavi2D.numpy

29.执行以下程序,输出结果是()。y=’中文’x=’中文字’print(x>y)

A.NoneB.FalseC.FalseorFalseD.True

30.下列叙述中正确的是()。

A.快速排序适用于顺序存储的线性表

B.快速排序适用于链式存储的线性表

C.链式存储的线性表不可能排序

D.堆排序适用于非线性结构

二、判断题(10题)31.定义类时如果实现了__contains__()方法,该类对象即可支持成员测试运算in。

A.是B.否

32.在任何时刻相同的值在内存中都只保留一份。

A.是B.否

33.运算符/在Python2.x和Python3.x中具有相同的功能。

A.是B.否

34.Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义。

A.是B.否

35.集合可以作为字典的值。

A.是B.否

36.无法删除集合中指定位置的元素,只能删除特定值的元素。

A.是B.否

37.Python支持使用字典的“键”作为下标来访问字典中的值。

A.是B.否

38.在Python中可以为自定义类的对象动态增加新成员。

A.是B.否

39.在Python3.5中运算符+不仅可以实现数值的相加、字符串连接,还可以实现列表、元组的合并和集合的并集运算。

A.是B.否

40.形参可以看做是函数内部的局部变量,函数运行结束之后形参就不可访问了。

A.是B.否

三、填空题(10题)41.已知x='123'和y='456',那么表达式x+y的值为______________。

42.表达式'helloworld,helloweveryone'.replace('hello','hi')的值为________________________。

43.表达式'%s'%65==str(65)的值为_____________。

44.表达式int('123',16)的值为_________。

45.假设re模块已导入,那么表达式re.findall('(\d)\\1+','33abcd112')的值为___________________。

46.Python语句''.join(list('helloworld!'))执行的结果是____________________。

47.已知列表x=[1,3,2],那么执行语句x.reverse()之后,x的值为____________。

48.执行语句x,y,z=map(str,range(3))之后,变量y的值为___________。

49.已知函数定义deffunc(*p):returnsum(p),那么表达式func(1,2,3)的值为______。

50.表达式set([1,2,3])=={1,2,3}的值为____________。

四、操作题(3题)51.考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:使用循环输出从1到50之间的奇数。

试题程序:

#请在_____处使用一行代码或表达式替换

#注意:请不要修改其他已给出代码______whilecount<50:

ifcount%2==0:

print(count,end=”,”)

52.考生文件夹下存在一个文件“PY201.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。使用循环输出由星号组成的实心菱形图案,如下所示。试题程序:#请在...处使用一行或多行代码替换#注意:请不要修改其他已给出代码foriinrange(0,4):…foriinrange(0,4):…

53.某班学生评选一等奖学金,学生的10门主干课成绩存在考生文件夹下文件score.txt中,每行为一个学生的信息,分别记录了学生学号、姓名以及10门课成绩,格式如下:

1820161043

郑珉镐68668377567361696678

1820161044

沈红伟91708l919680789l8994

从这些学生中选出奖学金候选人,条件是:①总成绩排名在前10名;②全部课程及格(成绩大于等于60)。

问题1:给出按总成绩从高到低排序的前10名学生名单,并写入文件candidate0.txt,每行记录一个学生的信息,分别为学生学号、姓名以及10门课成绩。补充考生文件夹下文件PY301一1.py,完成这一功能。试题程序:

#请在…处使用多行代码替换

##注意:其他已给出代码仅作为提示,可以修改L=[]

#L中的元素是学生原始成绩和总成绩

…#此处可多行

L.sort(key=lambdax:x[一1],reverse=True)拌按学生总成绩从大到小排序

…#此处可多行

问题2:读取文件candidate0.txt,从中选出候选人,并将学号和姓名写入文件candidate.txt,格式如下:

1010112161722

张三

1010112161728

李四

补充考生文件夹下文件PY301—2.py,完成这一功能。

试题程序:'''输入文件:candidate0.txt输出文件:candidate.txt'''

参考答案

1.Apipdownload<第三方库名>用于下载第三方库的安装包,但并不安装;pipuninstall<第三方库名>用于卸载一个已经安装的第三方库;pipinstall<第三方库名>用于安装第三方库;pipsearch<第三方库名>用于联网搜索库名或摘要中的关键字。本题选择A选项。

2.B在Python中,字符编码以Unicode值存储。chr(x)和ord(x)函数用于在单字符和Unicode值之间进行转换。chr(x)函数返回Unicode值对应的字符,ord(x)函数返回单字符x对应的Unicode值,如chr(1010)返回’c’,ord(”和”)返回21644。因此,选项C、D错误。本题选择B选项。

3.Cpygame是Python在游戏开发方向的第三方库,不属于Python的标准库。本题选择C选项。

4.D对字符串中某个子串或区间的检索称为切片。切片的使用方式如下:\n<字符串或字符串变量>[N:M]\n切片获取字符串从N到M(不包含M)的子字符串,其中N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。切片要求N和M都在字符串的索引区间,如果N大于等于M,则返回空字符串。如果N缺失,则默认将N设为0;如果M缺失,则默认表示到字符串结尾。\n题干中s[1:5]=’2345’,s[0:3]=’123’,s[一10:一5]=’12345’,s[0:4]=’1234’。

5.B

6.A算法的空间复杂度是指算法在执行过程中所需要的内存空间。本题选择A选项。

7.C列表索引从0开始,列表遵循正向递增索引和反向递减索引,故ls[2][1][-2]是字符o。本题选择C选项。

8.Cptint()函数用于输出运算结果,根据输出内容不同,有3种用法:①仅用于输出字符串,格式为:print(<待输出字符串>),字符串需要用单引号或者是双引号括起来;②仅用于输出一个或多个变量,格式为:print(<变量1>,<变量2>,…<变量n>);③用于混合输出字符串与变量值,格式为:print(<输出字符串模板>.format(<变量1>,<变量2>,…<变量n>))。该题考查的是第一种用法。

9.D

10.BPython不支持char类型,只支持数字类型和字符串类型。其中数字类型包括整数、浮点数和复数。

11.Cwrite():向文件写人一个字符或字节流。wrkelines():将一个元素作为字符串的列表整体写入文件。read():从文件中读入整个文件内容。本题选择C选项。

12.ATypeError指对类型无效的操作,也就是数据类型不匹配。本题选择A选项。

13.A列表的索引值也可以是负整数,如l[一1]就代表列表1的最后一个元素。

14.C字符串的索引从0开始,t[20:21]是指字符串中索引是20的元素I,t[:9]是从索引0?8元素,用“+\r\n”连接字符串,最后输出IlovetheWorld。本题选择C选项。

15.A通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

16.A在Python中,在函数定义时是可以设计可变数量参数的,通过在参数前加星号(*)实现。可变参数在定义时只有两种变现形式:*param和**param,前者表示可以接受多个位置参数收集的实参组成一个元组,后者表示可以接收多个关键字参数收集的实参名和值组成一个字典。

17.A对象具有如下特性:标识唯一性、分类性、多态性、封装性、模块独立性。

18.D栈称为“后进先出”表或“先进后出”的线性表;队列称为“先进先出”或“后进后出”的线性表。A,B,C,D,E依次入栈,则依次出栈顺序为E,D,C,B,A;F,G,H,I,J依次入队,则依次出队顺序为F,G,H,I,J。故输出顺序为E,D,C,B,A,F,G,H,I,J。

19.A该代码的功能是根据传人的参数求取该数的阶乘,经过一系列的运算将结果返回,4的阶乘为24。

20.APython能处理的二进制文件包含图形图像文件、音频文件、视频文件、可执行文件、各种数据库文件、各类Office文件等。

21.BD选项用于导入模块中所有的函数从而直接调用该模块中的函数;A选项直接导入整个模块,再利用“模块名.函数名”这样的方式来运行该模块中的函数;C选项只是在导入该模块时给该模块起了一个别名,本质和A选项一样。B选项正确的写法应该是from\nmoduleimportfunctionasf,本题选择B选项。

22.A

23.Ctime库是Python的标准库。使用gmtime()函数获取当前时间戳对应的对象。strftime()函数是时间格式化最有效的方法,几乎可以以任何通用格式输出时间。strftime()利用一个格式字符串,对时间格式进行表示。本题选择C选项。

24.B解析:栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。这表明栈的运算规则是“先进后出”(或称“后进先出”)。在栈顶进行插入运算,称为进栈(或入栈),在栈顶进行删除运算,称为退栈(或出栈)。本题中,依次进栈,即依次插入元素1、2、3、4、5、A、B、C、D、E,依次出栈,即依次删除元素,根据栈“先进后出”的规则,应该以倒序出栈。即元素出栈顺序为EDCBA54321。

25.D根据字典的索引方式可知,d.get(’egg’,’nothisfood’)索引的是字典第一层,但是第一层只有键food,没有键egg,故索引不出值,输出的是“nothisfood”。

26.C该程序段是输出8以内的奇数,continue语句只结束本次循环,不终止整个循环的执行。

27.D遍历列表letter,当i==’D’时,执行letter.remove(i),此时列表letter=[’A’,’B’,’C’,’D’,’D’],再遍历当i==’D’,执行letter.remove(i),此时列表letter=[’A’,’B’,’C’,’D’]。因为列表中的元素随着“D”元素的删除而减少,当删除第一个“D”元素之后,列表元素的个数即变为5,for循环又是控制循环次数的,因此只遍历5次,当第二个“D”元素删除时,循环结束。

28.B属于Python数据分析及可视化的第三方数据库的有:numpy、scipy、pandas、matplotlib、TVTK、mayavi(也称mayavi2)等。random库是Python语言用于产生各种分布的伪随机数序列的库。本题选择B选项。

29.D在Python中比较两个字符串的大小,要从第一个字符开始比较,只要比较出了大小就结束。本题中,x和y的前两个字符相同,但y没有第三个字符,所以x大,则x>y的结果为True。

30.A排序可以在不同的存储结构上实现,但快速排序法适用于顺序存储的线性表,不适用于链式存储的线性表。堆排序适用于线性结构,不适用于非线性结构。本题选择A选项。

31.Y

32.N

33.N

34.Y

35.Y

36.Y

37.Y

38.Y

39.N

40.Y

41.'123456'

42.'hiworld,hiweveryone'

43.True

44.291

45.['3','1']

46.'helloworld!'

47.[2,3,1]

48.'1'

49.6

50.True

51.count=0\r\n

whilecount<50:\r\n

count+=1\r\n

ifcount%2==0:\r\n

continue\r\n

print(count,end=”,”)判断一个数是否为奇数,即判断这个数能否被2整除,可以被整除则为偶数,结束本次循环,使用continue语句;不可以被整除则为奇数,输出该数。while循环不具有自动计数的功能,所以需要定义一个变量,初始值为0,每经过一次循环,变量加1;当变量超过50时,停止循环。

52.foriinrange(0,4):Foryinrange(0,4-i):Print(‘*’*i)foriinrange(0,4):Forxinrange(0,i):Print(“”,end=””)Print(‘*’*(4-i))观察题目给的图形,可以知道菱形是规则图形,可以分成两部分编写代码,且两部分代码的逻辑思维是一样的。图形由空格和星号组成,所以每部分需要两个for循环,一个用来控制星号(*)的输出,一个用来控制空格的输出。print()函数的默认输出格式为换行输出,所以需要使用参数end将本身自带的格式消除。

53.(1)L=[]\r\n

fo=open("score.txt","r")\r\n

fi=open("candidate0.txt","w")\r\n

lines=fo.readlines()\r\n

forlineinlines:\r\n

line=line.strip()\r\n

student=line.split('')\r\n

sum=0\r\n

foriinrange(1,11):\r\n

sum+=int(student[-i])\r\n

studene.append(str(sum))\r\n

L.append(student):\r\n

L.sort(key=lambda.x:x[一1],reverse=True)\r\nforiinrange(10):\r\nfi.write('',join(L[i][:-1])+'\\n')\r\nfo.close()\r\nfi.close()(2)'''\r\n输入文件:candidate0.txt\r\n输出文件:candidate.txt\r\n'''\r\nfo=open("candidate0.txt","r")\r\nfi=open("candlidate.txt","w")\r\nL=[]#存储候选人\r\nlines=fo.readlines()\r\nforlineinlines:\r\n

line=line.strip()\r\n

student=line.split('')\r\n

foriinstudent[-10:]:\r\n

ifint(i)<60:\r\n

break\r\n

else:\r\n

I:append(student[:2])\r\nforiinL:\r\n

fi.write(''.join(i)+'\\n')\r\nfo.close()\r\nfi.close()(1)本题涉及”score.txt”和”candidate0.txt”两个文件。首先要读取”score.txt”文件中的信息,通过程序求出每个学生的总成绩,然后按总成绩从大到小排序,将总成绩排名前10的学生的学号、姓名以及10门课成绩写入到”candidate0.txt”文件中。打开文件用open()函数,用”r”只读模式打开文件”score.txt”,用”w”模式创建文件”cand:id

温馨提示

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

评论

0/150

提交评论