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

下载本文档

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

文档简介

山西省运城市全国计算机等级考试Python语言程序设计专项练习(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.以下程序的输出结果是()。x=‘R\0S\0T’print(len(x))

A.3B.5C.7D.6

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

A.turtleB.jiebaC.SciPyD.Flask

3.支持子程序调用的数据结构是()。

A.栈B.树C.队列D.二叉树

4.以下不是Python组合数据类型的是()。

A.元组类型B.字符串类型C.数组类型D.列表类型

5.以下关于文件的打开和关闭的描述中,正确的是()。

A.二进制文件不能使用记事本程序打开

B.二进制文件可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容

C.使用内置函数openO且以w模式打开文件,若文件存在,则会引发异常

D.使用内置函数open()打开文件时,只要文件路径正确就总可以正确打开

6.下面哪个语句能够让列表中的名字按行输出?names=[‘Dick’,‘Nancy’,‘Roger’]A.print("\n".join(names))

B.print(names.join("\n"))

C.print(names.append("\n"))

D.print(names.join("%s\n",names))

7.用户自定义类时,如果想让该类实例对象被print调用时返回类的特定信息,就必须实现Python魔术方法中的()A.initB.strC.repD.cmp

8.以下关于文件读写的描述中,错误的是()。

A.对文件进行读写操作之后必须关闭文件以防止文件丢失

B.以追加模式打开的文件,文件存在则在原文件最后追加内容,不存在则创建文件

C.文件对象的seek()方法用来返回文件指针的当前位置

D.文件对象的readlines()方法用来读取文件中的所有行,以每行为元素形成一个列表

9.以下关于函数返回值的描述中,正确的是()。

A.Python函数的返回值个数很灵活,可以没有返回值,可以有一个或多个返回值

B.函数定义中最多含有一个return语句

C.在函数定义中使用return语句时,至少有一个返回值

D.函数只能通过print语句和return语句给出运行结果

10.以下对Python文件处理的描述中,错误的是()。

A.当文件以文本方式打开时,读/写按照字节流方式

B.Python能够以文本和二进制两种方式处理文件

C.Python通过解释器内置的open()函数打开一个文件

D.文件使用结束后可以用close()方法关闭,释放文件的使用授权

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

A.osB.sysC.SciPyD.glob

12.正则非贪婪模式使用()符号设置

A.\$B.\∧C.\{}D.\?

13.下列哪种情况不会导致Python对象的引用计数增加()

A.对象被创建B.被作为参数传递给函数C.成为容器对象的元素D.该对象无法访问时

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

A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA

15.下面代码的输出结果是()。foriinrange(3):forjin”dream”:ifj=="e":continueprint(j,end="")

A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream

16.以下用于数据存储领域的Python第三方库是()。

A.NLTKB.DjangoC.redis-pyD.Luminoth

17.以下程序中,while循环的循环次数是()。i=0whilei<10: ifi<1: print(“Python”) continue ifi==5: print(“World!”) break i+=1

A.10B.5C.4D.死循环,不能确定

18.以下构成Python循环结构的语句中,正确的是()。

A.whileB.loopC.ifD.do-for

19.下列叙述中错误的是()。

A.向量属于线性结构B.二叉链表是二叉树的存储结构C.栈和队列是线性表D.循环链表是循环队列的链式存储结构

20.属于Python读取文件一行操作的是()。

A.readtextB.readlineC.readallD.read

21.以下不属于Python语言控制结构的是()。

A.顺序结构B.循环结构C.分支结构D.数据结构

22.以下代码的输出结果是()。print(1.5+2.1==3.6)

A.3.6B.TrueC.1.5+2.1==3.6D.False

23.以下选项中不是Python文件目录操作方法的是()。

A.split()B.rename()C.getcwd()D.rmdir()

24.关于Python变量,下列说法错误的是()

A.变量不必事先声明但区分大小写

B.变量无须先创建和赋值而直接使用

C.变量无须指定类型

D.可以使用del关键字释放变量

25.下面关于类的说法错误的是()。

A.类是一种实例

B.在类进行实例化时将会首先执行该类中的im()方法

C.在对类进行实例化时,传入的实参不用带上self,它在类执行过程中将自行带上

D.类中的变量若带有前缀self,则意味着此变量在类中任意位置可以使用

26.执行以下代码的结果是()A.2B.4C.5D.8

27.下面关于Python中继承的说法错误的是()。

A.创建子类实例时,Python首先需要完成的任务是给父类的所有属性赋值

B.Python中,super()是一个特殊函数,帮助Python将父类和子类关联起来

C.函数super()只需要一个实参,即子类名

D.对于父类的方法,可对其进行重写,即在子类中定义一个这样的方法,它要与重写的父类名方法同名

28.对于以下程序的描述,正确的是()。s=“Pythonisgood”l=“isn’tit”length=len(s)s_title=s.title()s_l=s+ls_number=s[1:6]print(length)

A.length为12

B.s_title为“PYTHONISGOOD”

C.s_l为“Pythonisgoodisn’tit”

D.s_number为“Python”

29.下面关于Python中模块导入的说法错误的是()。

A.Python中,可以使用import语句将一个源代码文件作为模块导入

B.在系统导入模块时,会创建一个名为源代码的文件的对象,该对象引用模块的名字空间,即可通过这个对象访问模块中的函数和变量

C.import语句可在程序的任何位置使用,可以在程序中多次导入统一模块,每次导入该模块时都会将该模块中的代码执行一次

D.模块导入时可以使用as关键字来改变模块的引用对象名字

30.以下程序的输出应该是()。ls=[[0,1],[5,6],[7,8]]lis=[]foriinrange(len(ls)): lis.append(ls[i][1])print(lis)

A.[1,6,8]B.[0,5,7]C.[0,6,8]D.[0,1]

二、判断题(10题)31.只可以动态为对象增加数据成员,而不能为对象动态增加成员方法。

A.是B.否

32.pip命令支持使用扩展名为whl的文件离线安装Python扩展库。

A.是B.否

33.在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。

A.是B.否

34.已知x为非空列表,那么执行语句x[0]=3之后,列表对象x的内存地址不变。

A.是B.否

35.已知A和B是两个集合,并且表达式AB的值一定为True。

A.是B.否

36.在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员。A.是B.否

37.已知x为非空字符串,那么表达式“.join(x.split())==x的值一定为True。A.是B.否

38.Python变量使用前必须先声明,并且一旦声明就不能在当前作用域内改变其类型了。

A.是B.否

39.元组可以作为字典的“键”。

A.是B.否

40.假设random模块已导入,那么表达式random.sample(range(10),20)的作用是生成20个不重复的整数。

A.是B.否

三、填空题(10题)41.已知字典x={i:str(i+3)foriinrange(3)},那么表达式sum(x)的值为______。

42.表达式'Helloworld!'.count('l')的值为___________。

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

44.表达式list(filter(lambdax:len(x)>3,['a','b','abcd']))的值为___________。

45.任意长度的Python列表、元组和字符串中最后一个元素的下标为________。

46.已知x={1:1},那么执行语句x[2]=2之后,len(x)的值为____________。

47.表达式chr(ord('a')^32)的值为___________。

48.表达式range(10,20)[4]的值为__________。

49.表达式callable(int)的值为___________。

50.已知x=[1,2,3,2,3],执行语句x.pop()之后,x的值为_____________。

四、操作题(3题)51.考生文件夹下存在2个Python源文件和3个文本文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。《论语》是儒家学派的经典著作之一,主要记录了孔子及其弟子言行。这里给出了一个网络版本的《论语》,文件名称为“论语.txt”,其内容采用逐句“原文”与逐句“注释”相结合的形式组织,通过【原文】标记《论语》原文内容,通过【注释】标记《论语》注释内容,具体格式请参考“论语.txt”文件。问题1:在“PY301-1.py”文件中修改代码,提取“论语.txt”文件中的原文内容,输出保存到考生文件夹下,文件名为“论语-原文.txt”。具体要求:仅保留“论语.txt”文件中所有【原文】标签下面的内容,不保留标签,并去掉每行行首空格及行尾空格,无空行。原文圆括号及内部数字是源文件中注释内容的标记,请保留。文件输出格式请参考“论语-原文-输出示例.txt”文件。注意:输出示例仅帮助考生了解输出格式,不作它用。试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open(“论语.txt",)fo=open(“论语-原文.txt",)…Forlineinfi:…fo.write(line.lstrip())问题2:在“PY301-2.py”文件中修改代码,对“论语-原文.txt”或“论语.txt”文件进一步提纯,去掉每行文字中所有圆括号及内部数字,保存为“论语-提纯原文.txt”文件。文件输出格式请参考“论语-提纯原文-输出示例.txt”文件。注意:示例输出文件仅帮助考生了解输出格式,不做它用。试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open("论语-原文.txt",_____)fo=open("论语-提纯原文.txt",_____)Forlineinfi:line=line.replace()

52.考生文件夹下存在一个文件“PY102.py”,请写代码替换横线,不修改其他代码,实现以下功能。文件给出字符串,删除字符串开头和末尾的空白,将结果输出到屏幕。

试题程序:#请在_____处使用一行代码或表达式替换

#注意:请不要修改其他已给出代码word="床前明月光,疑是地上霜。"print(_____)

53.考生文件夹下存在一个文件“PY301.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请按照源文件内部说明修改代码,实现以下功能。设计一个猜字母的程序,程序随机给出26个小写字母中的一个,答题者输入猜测的字母,若输入的不是26个小写字母之一,让用户重新输入;若字母在答案之前或之后,程序给出相应正确提示;若答错5次,则答题失败并退出游戏;若回答正确,程序输出回答次数并退出游戏。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准

参考答案

1.B在Python中len()函数可以输出字符串长度,x=‘R\\0S\\0T’,分别有R、\\0、S、\\0和T这5个字符,所以len(x)=5,print(len(x))是将5输出来。这里要注意,Python中len()函数遇见,‘\\0’不结束,‘\\0’算是一个转义字符。本题选择B选项。

2.Aturtle库是Python的标准库,用于基本图形的绘制;jieba库是Python的第三方中文分词库;SciPy是数据分析方向的第三方库;Flask是Web开发方向的第三方库。本题选择A选项。

3.A栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这调用符合找的特点。本题选择A选项。

4.C能表示多个数据的类型称为组合数据类型。Python中最常用的组合数据类型有3大类,分别是集合类型、序列类型(典型代表是字符串类型和列表类型)和映射类型(典型代表是字典类型)。Python的数据类型不包括数组类型,在Python中数组类型需要通过引用第三方库如Numpy实现。故答案为C项。

5.B二进制文件可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容;用内置函数open()且以w模式打开文件,若文件存在,则会覆盖原来的内容而不会引发异常。本题选择B选项。

6.A

7.B

8.C文件对象的seek()方法用来定位文件的读/写位置,tell()方法用来返回文件指针的当前位置。本题选择C选项。

9.A在Python中,return语句用来结束函数并将程序返回到函数被调用的位置继续执行。re-turn\n语句可以出现在函数中的任何部分,可以同时将0个、1\n个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return语句,此时函数不返回值。当函数使用return语句返回多个值时,这些值形成了一个元组数据类型,由圆括号和逗号分隔,如(a,b,c),可以使用一个变量或多个变量保存结果。本题选择A选项。

10.A文件包括文本文件和二进制文件两种类型。Python对文本文件和二进制文件采用统一的操作步骤,即“打开-操作-关闭”,B选项正确。采用文本方式读入文件,文件经过编码形成字符串,输出有含义的字符;采用二进制方式打开文件,文件被解析为字节流,A选项错误。Python通过open()函数打开一个文件,并返回一个操作这个文件的变量,语法格式为<变置名>=open(<文件路径及文件名>,<打开模式>\n),C选项正确。文件使用结束后要用clooe()方法关闭,释放文件的使用授权,语法格式为<变置名>dose()\n,D选项正确。本题选择A选项。

11.CSciPy是Python数据分析方向的第三方库。本题选择C选项。

12.D

13.D

14.B栈按先进后出的原则组织数据,所以入栈最早的元素最后出栈,本题选择B选项。

15.Acontinue语句只结束本次循环,不终止整个循环的执行,而break语句具备结束循环的能力。本题外层循环用来计数,内层循环用来遍历字符串,当满足判断条件时,就会结束本次循环进入下一循环,字符串遍历完成之后,外层循环进入下一循环。本题选择A选项。

16.Credls-py是数据存储方向的第三方库;Django是Web开发方向的第三方库;NLTK是自然语言处理方向的第三方库;Luminoth是计算机视觉方向的第三方库。本题选择C选项。

17.Dwhile循环的判断条件为真时,进入循环体;判断条件为假时,直接执行while同级的代码。初始值为i=0,进入循环体之后,因为i<1,执行continue语句跳出本次循环,进入下一次循环。i的值始终为0,故程序为死循环。本题选择D选项。

18.APython中的循环结构有for语句和while语句。if是选择结构语句。本题选择A选项。

19.D循环链表是线性表的一种链式存储结构,循环队列是队列的一种顺序存储结构。因此D选项叙述错误。

20.B在Python语言中,文件读取方法有(设f代表文件变量):\nf.read():从文件中读入整个文件内容。\nf.readline():从文件中读入一行内容。\nf.readlines():从文件中读人所有行,以每行为元素形成一个列表。\nf.seek():改变当前文件操作指针的位置。本题选B选项。

21.DPython语言控制结构包括顺序结构、循环结构和分支结构。

22.B“1.5+2.1”表达式的结果与3.6比较是否相等,返回的结果为布尔值,即True或False,结果相等,所以代码输出的结果应为True。

23.Arename():给文件重命名;getcwd():得到当前工作目录,即当前Python脚本工作的目录路径;rmdir():删除目录。split():按给出的分隔符分隔字符串,返回的是列表类型。

24.B

25.AA选项中类只是一种抽象事物的分类,对象才是一种实例。本题选择A选项。

26.D

27.C函数super()需要两个实参,分别是子类名和对象self,为了帮助Python将父类和子类关联起来,这些实参必不可少,所以C项错误。

28.Clen()函数用来获取字符串的长度,所以length应为14;title()函数是把字符串每个单词的首字母变为大写,所以S_title应为”PythonlsGood”;索引的序号是从0开始的,所以s[1:6]应为“ython”,即S_number为“ython”。本题选择C选项。

29.Cimport语句确实可以在程序的任何位置使用,但是当在程序中多次导入同一个模块时,该模块中的代码仅仅在该模块被首次导人时执行,所以C项错误。

30.Alen()函数获得列表ls的长度,range()函数起到循环次数的作用,append()方法在列表lis最后增加元素。列表ls存储的元素是列表,访问时需要使用索引嵌套。本题选择A选项。

31.N

32.Y

33.Y

34.Y

35.N

36.Y

37.N

38.N

39.Y

40.N

41.3

42.3

43.None

44.['abcd']

45.-1

46.2

47.'A'

48.14

49.True

50.[1,2,3,2]

51.fi=open(“论语.txt'”r”)fo=open(”论语-原文.txt”,”w”)Flag=falseforlineinfi:If”【“inline:Flag=falseIf”【原文】”inline:Flag=tureContinueIffiag=ture:fo.write(line.lstrip())Fi.close()Fo.close()fi=open("论语-原文.txt"’r’)fo=open("论语-提纯原文.txt”,’w’)forlineinfi:Foriinrange(1,23):line=line,replace(“{}”.format(i),””)fowrite(line)Fi.close()Fo.close()(1)题目要求从“论语.txt”文件中提取内容,输出保存到文件“论语-原文.txt”中,因此需要用”r”模式打开“论语”txt”,用”\r\nw”模式创建文件“论语-原文.txt”。本题要求区域性提取,与单行提取不同,因此,可以借助写标记flag来标记操作的是哪里的文本。使用for循环遍历“论语.txt”中的每一行,当该行存在时,说明已经到了新的区域,写标记设置为否,即flag\r\n=False;当该行存在【原文】时,写标记设置为True;当写标记为True时,就将当前行内容写入新的文件”论语-原文.txt"中。对文件操作完成后,使用close()方法关闭文件。(2)题目要求对“论语-原文.txt”进一步提纯,保存为“论语-提纯原文.txt”文件,因此需要用”r”模式打开“论语-原文.txt”,用”\r\nw”模式创建文件“论语-提纯原文.txt”。题目要求去掉每行文字中所有圆括号及内部数字,可在for循环遍历“论语-原文.txt”文件中的每一行时,用空格来代替出现的“(数字)”形式。分析“论语-原文.txt”文件可知,其中出现(1)~(22)共22种可能,因此内部

温馨提示

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

评论

0/150

提交评论