江苏省泰州市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第1页
江苏省泰州市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第2页
江苏省泰州市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第3页
江苏省泰州市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第4页
江苏省泰州市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

江苏省泰州市全国计算机等级考试Python语言程序设计重点汇总(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.下面关于Python的说法正确的是()。

A.Python不支持面向对象程序设计

B.Python中使用的所有函数库,都是采用Python语言编写的

C.Python中的内置函数需要用关键字import来导入,而不能直接使用

D.Python中如果导入了某个模块,在后面的代码中就可以使用它的所有公共函数、类及属性

2.以下不能创建一个字典的语句是()。

A.dic={}

B.dic={l:5}

C.dic={(1,2):"use"}

D.dic={[1,2]:"use"|

3.以下程序的输出结果是()。forsin“grandfather”: ifs==“d”ors==“h”: continue print(s,end=‘’)

A.grandfatherB.granfaterC.grandD.father

4.概念模型是()。

A.用于现实世界的建模,与具体的DBMS有关

B.用于信息世界的建模,与具体的DBMS有关

C.用于现实世界的建模,与具体的DBMS无关

D.用于信息世界的建模,与具体的DBMS无关

5.下列算法中,最坏情况下时间复杂度最低的是()。

A.堆排序B.寻找最大项C.顺序查找D.有序表的对分查找

6.执行exec('l1=[1,2,3]')后:()

A.[1,2,3]B.l1=[1,2,3]C.异常D.没有任何返回

7.以下不属于Python保留字的是()。

A.classB.passC.subD.def

8.以下方法能返回列表数据类型的是()。

A.s.center()B.s.strip()C.s.replace()D.s.split()

9.下面哪个语句能够让列表中的名字按行输出?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))

10.表达式3**2*4//6%7的计算结果是()。

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

11.在Python中,将二维数据写入CSV文件,最可能使用的函数是()。

A.write()B.split()C.join()D.exists()

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

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

13.以下程序的输出结果是()。x=10y=0if(x>5)or(x/y>5): print(‘Right’)else: print(‘Wrong’)

A.RightB.WrongC.报错:ZeroDivisionErrorD.不报错,但不输出任何结果

14.以下程序的输出结果是()。ls1=[1,2,3,4,5]ls2=ls1ls2.reverse()print(ls1)

A.5,4,3,2,1B.[1,2,3,4,5]C.[5,4,3,2,1]D.1,2,3,4,5

15.以下关于Python的描述中,正确的是()。

A.函数中return语句只能放在函数定义的最后面

B.定义函数需要使用保留字def

C.使用函数最主要的作用是复用代码

D.Python函数不可以定义在分支或循环语句的内部

16.文件exam.txt与以下程序在同一目录下,其内容是一段文本bigBen,以下程序的输出结果是()。f=open(“exam.txt”)print(f)f.close()

A.bigBenB.exam.txtC.<_io.TextIOWrapper…>D.exam

17.在Python的类定义中,对函数变量的访问形式为()。

A.<对象>.<变量>B.<对象>.方法(变量)C.<类名>.<变量>D.<对象>.方法(变量)

18.以下程序的输出结果是()。forsin“PythonNCRE”: ifs==“N”: break print(s,end=“”)

A.PythonCREB.NC.PythonD.PythonNCRE

19.软件设计中模块划分应遵循的准则是()。A.低内聚低耦合

B.高内聚低耦合

C.低内聚高耦合

D.高内聚高耦合

20.在Python中,能够处理图像的第三方库是()。

A.PylnstallerB.PyserialC.PygameD.PIL

21.以下代码的输出结果是()。whileTrue:guess=eval(input())ifguess==0x452//2:breakprint(guess)

A.0x452B.breakC.553D.”0x452//2”

22.将数据和操作置于对象统一体中的实现方式是()。

A.隐藏B.抽象C.封装D.结合

23.以下描述中,错误的是()。

A.Python语言通过索引来访问列表中元素,索引可以是负整数

B.列表用方括号来定义,继承了序列类型的所有属性和方法

C.Python列表是各种类型数据的集合,列表中的元素不能够被修改

D.Python语言的列表类型能够包含其他的组合数据类型

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

A.importmodule

B.frommoduleasfimportfunction

C.importmoduleasm

D.frommoduleimport*

25.对以下代码的输出描述正确的是()。lis=list(range(6))print(lis)

A.[0,1,2,3,4,5]

B.[0,1,2,3,4,5,6]

C.0,1,2,3,4,5

D.0,1,2,3,4,5,6

26.在Python语言中,读入CSV文件保存的二维数据,按特定分隔符抽取信息,最可能用到的函数是()。

A.read()B.join()C.replace()D.split()

27.下面代码的输出结果是()。x=10whilex:x一=1ifx%2:print(x,end=”)else:pass

A.86420B.975311C.97531D.864200

28.下面代码的输出结果是()。list=[“1”,”3”,”5”]defapp(x):list.append(x)app(”7”)print(list)

A.[’1’,’3’,’5’]B.[’1’,’3’,’5’,’7’]C.[’7’]D.”1,3,5,7”

29.以下不是Python的关键字的是()。

A.classB.defC.defineD.elif

30.以下代码的输出结果是()。ls=[”2020”,”1903”,”Python”]ls.append(2050)ls.append([2020,”2020”])print(ls)

A.[’2020’,’1903’,’Python’,2020,[2050,’2020’]]

B.[’2020’,’1903’,’Python’,2020]

C.[’2020’,’1903’,’Python’,2050,[2050,’2020’]]

D.[’2020’,’1903’,’Python’,2050,[’2020’]]

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

A.是B.否

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

A.是B.否

33.Python只能使用内置数据库SQLite,无法访问MSSQLServer、ACCESS或Oracle、MySQL等数据库。

A.是B.否

34.字符串属于Python有序序列,和列表、元组一样都支持双向索引。

A.是B.否

35.放在一对三引号之间的任何内容将被认为是注释。

A.是B.否

36.在Python中可以使用for作为变量名。

A.是B.否

37.Python运算符%不仅可以用来求余数,还可以用来格式化字符串。

A.是B.否

38.Python变量名必须以字母或下划线开头,并且区分字母大小写。

A.是B.否

39.假设已成功导入os和sys标准库,那么表达式os.path.dirname(sys.executable)的值为Python安装目录。

A.是B.否

40.已知x=3,那么赋值语句x='abcedfg'是无法正常执行的。

A.是B.否

三、填空题(10题)41.表达式'abc10'.isalpha()的值为________________。

42.表达式sorted(random.sample(range(5),5))的值为_________________________。

43.查看变量类型的Python内置函数是________________。

44.表达式set([1,1,2,3])的值为____________________。

45.Python关键字elif表示__________和___________两个单词的缩写。

46.字典对象的_____________方法返回字典中的“键-值对”列表。

47.表达式len('SDIBT')的值为__________。

48.表达式'abcdefg'.split('d')的值为__________________。

49.表达式[str(i)foriinrange(3)]的值为____________。

50.已知x=3和y=5,执行语句x,y=y,x后x的值是____。

四、操作题(3题)51.考生文件夹下存在两个Python源文件“PY301-1.py”和“PY301-2.py”,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。李白,字太白,号青莲居士,又号“谪仙人”,是唐代伟大的浪漫主义诗人,被后世誉为“诗仙”。考生文件夹下有一个“关山月.txt”文件,内容如下。明月出天山,苍茫云海间。长风几万里,吹度玉门关。汉下白登道,胡窥青海湾。由来征战地,不见有人还。戍客望边邑,思归多苦颜。高楼当此夜,叹息未应闲。问题1:这是一段由标点符号分隔的文本,请编写程序,以“。”句号为分隔,将这段文本转换为诗词风格,输出到文件“关山月-诗歌.txt”中。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open("关山月.txt","r")…fi.close()fo.close()问题2:把问题1生成的“关山月-诗歌.txt”文件,以每行为单位,保留标点符号为原顺序和位置,输出全文的反转形式。将文件保存在考生文件夹下并命名为“关山月-反转.txt”。输出的形式如下。高楼当此夜,叹息未应闲。戍客望边邑,思归多苦颜。由来征战地,不见有人还。汉下白登道,胡窥青海湾。长风几万里,吹度玉门关。明月出天山,苍茫云海间。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open("关山月-诗歌.txt","r")fo=open(“关山月-反转.txt","w")…fi.close()fo.close()

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

试题程序:

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

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

ifcount%2==0:

print(count,end=”,”)

53.考生文件夹下存在3个Python源文件,分别对应3个问题;1个文本文件,作为本题目的输入数据,请按照源文件内部说明修改代码,实现以下功能。《卖火柴的小女孩》是丹麦童话故事作家安徒生写的一篇童话故事,发表于1846年。主要讲了一个卖火柴的小女孩在富人阖家欢乐、举杯共庆的大年夜冻死在街头的故事。这里给出《卖火柴的小女孩》的一个网络版本文件,文件名为“小女孩.txt”。问题1:在“PY301-1.py”文件中修改代码,对“小女孩.txt”文件进行字符频次统计,输出频次最高的中文字符(不包含标点符号)及其频次,字符与频次之间采用英文冒号(:)分隔,将输出结果保存在考生文件夹下,命名为“PY301-l.txt”。示例格式如下。的:83试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准…fo=open("PY301-1.txt","w")d={}fo.write("{}:{}".format(_____))fo.close()问题L在“PY301-2.Py”文件中修改代码,对“小女孩.txt”文件进行字符频次统计,按照频次由高到低,输出前10个频次最高的字符,不包含回车符,字符之间无间隔,连续输出,将输出结果保存在考生文件夹下,命名为“PY301-2.txt”。示例格式如下。,的一...(共10个字符)试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fo=open("PY301-2.txt",”w”)…d={}…Is=list(d.items())ls.sort(key=lambdax:x[l],reverse=True)#此行可以按照字符频次由高到低排序…问题3:在PY301-3.py文件中修改代码,对“小女孩.txt”文件进行字符频次统计,将所有字符按照频次从高到低排序,字符包括中文、标点、英文等,但不包含空格符和回车符。将排序后的字符及频次输出到考生文件夹下,文件名为“小女孩-频次排序.txt”。字符与频次之间采用英文冒号(:)分隔,各字符之间采用英文逗号(,)分隔,参考CSV格式,最后无逗号,文件内部示例格式如下。着:30,那:29,火:29试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1]#reverse=True)#此行可以按照字符频次由高到低排序

参考答案

1.DA选项,Python是支持面向对象程序设计的;B选项,并不是所有的函数库都是采用Python编写的,很多采用C、C++、Java等语言编写的专业库可以经过简单的接口封装供Python程序调用;C选项,Python中的内置函数可以直接使用而不需要用import来导入。本题选择D选项。

2.D字典的“键”必须为不可变类型;字典的值可以是任意类型。本题选择D选项。

3.Bfor循环将字符串“grandfather.”中的字符依次赋给变量s,当s==“d”或s==“h”时,结束本次循环,不执行print(s,end=‘’);反之,执行print(s,end=‘’)。故输出结果为granfater。本题选择B选项。

4.C概念模型,着重于对客观世界复杂事物的描述及对它们内在联系的刻画,与具体的DBMS(数据库管理系统)无关。

5.D对于长度为n的有序线性表,在最坏情况下,二分法查找(对分查找)需比较log2n次。对于长度为n的线性表,最坏情况下顺序查找需要n次,寻找最大项需要n一1次,堆排序需要nlog2n次。故D项的时间复杂度最低。

6.D

7.C保留字,也称关键字,是编程语言内部定义并保留使用的标识符。Python3.x中有35个保留字,分别为and、as、assert、async、await、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、ls、lambda、None、nonlocal、not、or、pass、ralse、return、True、try、while、with、yield。本题选择C选项。

8.Ds.center()方法的作用是字符串居中。s.strip()方法的作用是从字符串s中去掉其左右两侧指定的字符,返回的是字符串。s.replace(old,new)方法的作用是返回字符串s的副本,所有old子串被替换为new。s.split()方法的作用是返回一个列表,若有参数,则s根据参数分隔;若省略参数,则默认以空白符分隔。本题选择D选项。

9.A

10.D先计算幂,3**2=9,9*4=36,36//6=6,6%7=6。//是整除运算,%是求余运算。本题选D选项。

11.C在Python中,二维列表对象输出CSV文件时,采用遍历循环和字符串的join()方法相结合的方法。方法如下:#ls代表二维列表,此处省略f=open('cpi.csv','w')forrowinIs£.write(“,'.join(row)\\n')f.close()本题选择C选项。

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

13.A在Python中,or表示多个条件之间的“或”关系。xory,若x为True,则xory的结果为True,不再对y进行判断。本题中,x>5为True,故(x>5)or(x/y>5)的结果为True,输出结果为Right。本题选择A选项。

14.C在Python中,列表对象的赋值就是简单的对象引用。本题中,ls1和ls2是一样的,他们指向同一片内存,ls2不过是ls1的别名,是引用。对l2做修改,11也会跟着变化。ls2.reverse()是指将列表ls2中的元素反转,结果为[5,4,3,2,1],则ls1的值也为[5,4,3,2,1]。

15.B函数定义:函数是指一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可。函数最主要的作用是提高应用的模块性和代码的重复利用率,C选项错误。return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量,A选项错误。在Python中,函数可以定义在分支或循环语句的内部,D选项错误。Python通过保留字def定义函数,语法如下。def<函数名>(<非可选参数列表>,<可选参数>=<默认值>):\t<函数体>\treturn<返回值列表>可选参数一般都放置在非可选参数的后面。本题选择B选项。

16.Copen()函数打开一个文件,并返回可以操作这个文件的变量f,并且open()函数有两个参数:文件名和打开模式。本题只是打开了文件,并没有对文件进行操作,因此不会输出文件的内容。print(f)语句输出的是变量f代表的文件的相关信息:<_io.TextIOWrappername=‘exam.txt’mode=‘r’encoding=‘cp936’>。若想要输出文件的内容,需要把文件的内容读入,如f1=f.read()。本题选择C选项。

17.A访问函数的变量时,需要使用点表示法:<对象>.<变量名>。本题选择A选项。

18.Cfor循环将字符串“PythonNCRE”的字符依次赋给变量S,当s==“N”时,跳出for循环,故输出为Python。本题选择C选项。

19.B解析:耦合性和内聚性足模块独立性的两个定性标准。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,作为软件结构设计的设计原则,要求每个模块的内部都具有很强的内聚性;耦合性是指模块间相互连接的紧密程度的度量,一个模块与其他模块的耦合性越强则该模块的独立性越弱。一般优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

20.DPIL库是Python在图像处理方向的重要的第三方库,支持图像存储、处理和显示,它能够处理几乎所有的图片格式,可以完成对图像的缩放、剪裁、叠加,以及为图像添加线条和文字等。使用Python处理图像相关的程序,首选PIL库。本题选择D选项。

21.C该程序最外层是while循环,while循环的条件是True,由此可知while内的语句会无限循环。input()函数是用来获取用户从键盘输入的内容并以字符串类型返回。eval()函数是把字符串转换成Python可用的语言。if语句的作用是来控制程序是否继续循环,判断条件中0x452是十六进制数,对2整除的结果是553,如果用户输入的数据是553,则将结果输出并终止循环;如果输入其他数据,程序会一直要求用户输入直到输入正确的数据才会终止循环。本题选C选项。

22.C对象具有封装性,从外面看只能看到对象的外部特性,对象的内部对外是封闭的。即封装实现了将数据和操作置于对象统一体中。本题答案为C选项。

23.C列表用中括号([])表示,由于列表属于序列类型,故继承了序列类型的所有属性和方法,B项正确。索引是列表的基本操作,用于获得列表中的一个元素,该操作沿用序列类型的索引方式,即正向递增序号或反向递减序号,使用中括号作为索引操作符,索引号不得超过列表的元素范围,否则将产生IndexError错误。A项正确。列表可以进行元素增加、删除、替换、查找等操作,列表没有长度限制,元素类型可以不同,能够包含其他的组合数据类型,故D项正确、C项错误。

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

25.Arange(6)取到的是0,1,2,3,4,5这六个数,这些数均为int类型,使用list()方法将其存储在列表变量lis中。

26.D在Python语言中,读取CSV格式文件中的二维码数据采用遍历循环和字符串的split()方法相结合,方法如下:\nf=open(”cpi.csv”,”r”)\nls=[]\nforlineinf:\nls.append(line.strip(”\n”).split(”,”))\nf.close()

27.Cwhile条件为真时进入循环体,执行循环体中的内容。如果x的值为偶数则if条件为假,不执行任何操作,为奇数则if条件为真,输出该奇数;进入下一次循环,判断while条件,判断是否进入循环体,执行循环体中的代码。后面的操作类似,直到while条件不满足。经过一系列的运算,输出结果为:97531。

28.Bappend()是向列表元素的结尾增加元素。

29.C保留字,也称关键字,是编程语言内部定义并保留使用的标识符。Python3.x中有35个保留字,分别为\nand、as、assert、async、await、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、is、lambda、None、nonlocal、not、or、pass、raise、return、True、try、while、with、yield。define\n不是Python语言关键字。本题选择C选项。

30.C要向列表中添加元素,可以使用append()方法,添加的元素类型可以不同,可以是数字、字符串、列表等,要注意的是append()方法不能同时添加多个元素。本题选择C选项。

31.Y

32.Y

33.N

34.Y

35.N

36.N

37.Y

38.Y

39.Y

40.N

41.False

42.[0,1,2,3,4]

43.type()

44.{1,2,3}

45.else、if

46.items()

47.5

48.['abc','efg']

49.['0','1','2']

50.5

51.(1)fi=open("关山月.txt”,"r")fi=open("关山月-诗歌.txt","w")Txt=fi.read()Is=txt.split(“。”)Fo.write(“。\\n”.join(is))fi.close()fo.close()(2)fi=open("关山月-诗歌.txt","r")fo=open(“关山月-反转.txt","w")Txt=fi.readlines()Txt.reverse()Forrowintxt:Fo.write(row)fi.close()fo.close()⑴题目给出的文件内容是一段文本,要把文本改为诗词风格,即以全角句号分隔,可使用字符串的split()方法,该方法返回的是一个列表;列表的每个元素都是一行诗句,使用join()方法把列表的每一个元素写入“关山月_诗歌.txt”文件中,连接符为全角句号和换行符;操作完成之后将打开的文件用close()方法关闭,避免内容的丢失。(2)把“问题1”生成的诗词风格的文件按照每行为单位将其逆序输出,须使用列表的reveree()方法,即需要把文件的内容转换为列表类型,readlines()方法从文件中读入所有行的内容,以每行为元素形成一个列表,然后调用reverse()方法反转,将反转后的内容写入“关山月-反转.txt”文件中。操作完成之后将打开的文件用close()方法关闭,避免内容的丢失。

52.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时,停止循环。

53.(1)fi=open("小女孩.txt","r")fo=open(”PY301—1.txt”,”w”)txt=fi.read()d={}\r\nexclude=",。!?、()【】<>《》=:+-*-“”…"forwordintxt:ifwordinexclude:continueelse:d[word]=d.get(word,0)+1ls=list(d.items())ls.sort(key=lambda\r\nx:x[1],reverse=True)fo.write(”{}:{}”format(ls[0][0],ls[0][1]))fo.close()(2)fi=open("小女孩.txt","r")fo=open(”PY301—2.txt”,”w”)txt=fi.read()d={}forwordintxt;d[word]=d.get(word,0)+1deld["\\n"]ls=list(d.items())ls.sort(key=lambd

温馨提示

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

评论

0/150

提交评论