山西省阳泉市全国计算机等级考试Python语言程序设计真题(含答案)_第1页
山西省阳泉市全国计算机等级考试Python语言程序设计真题(含答案)_第2页
山西省阳泉市全国计算机等级考试Python语言程序设计真题(含答案)_第3页
山西省阳泉市全国计算机等级考试Python语言程序设计真题(含答案)_第4页
山西省阳泉市全国计算机等级考试Python语言程序设计真题(含答案)_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

山西省阳泉市全国计算机等级考试Python语言程序设计真题(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.执行以下代码的结果是()A.2,3,2,4B.4,6,4,8C.4,5,4,6D.4,9,4,16

2.Python语言提供三种基本的数字类型,它们是()。

A.整数类型、二进制类型、浮点类型

B.整数类型、浮点类型、复数类型

C.整数类型、二进制类型、复数类型

D.二进制类型、浮点类型、复数类型

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

A.seabornB.randomC.mayavi2D.numpy

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

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

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

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

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

5.Python提供3种基本的数字类型,它们是()。

A.整数类型、浮点数类型、复数类型

B.整数类型、二进制类型、浮点数类型

C.整数类型、二进制类型、布尔类型

D.整数类型、二进制类型、复数类型

6.以下关于Python技术特点的描述中,错误的是()。

A.对于需要更快执行速度的功能,例如数值计算和动画,Python可以调用C语言编写的底层代码

B.Python比大部分编程语言具有更高的软件开发产量和简洁性

C.Python是解释执行的,因此执行速度比编译型语言慢

D.Python是脚本语言,主要用作系统编程和Web访问的开发语言

7.若I,j均为整形数值对象,以下哪个语句计算i被j除后的余数()

A.imodjB.i/jC.i%jD.i//j

8.以下关于Python函数的描述中,错误的是()。

A.Python程序的main()函数可以改变为其他名称

B.如果Python程序包含一个main()函数,这个函数与其他函数地位相同

C.Python程序可以不包含main()函数

D.Python程序需要包含一个主函数且只能包含一个主函数

9.关于以下代码的描述中,正确的是()。defrune(a,b):c=a**2+bb=areturnca=10b=2c=func(b,a)+a

A.执行该函数后,变量c的值为112

B.该函数名称为fun

C.执行该函数后,变量b的值为2

D.执行该函数后,变量b的值为10

10.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。

A.—对一B.—对多C.多对一D.多对多

11.下列函数中,不是Python内置函数的是()。

A.exec()B.sum()C.close()D.eval()

12.以下程序的输出结果是()。Is=list(range(5))print(Is)

A.{0,1,2,3,4}B.[0,1,2,3,4]C.{l,2,3,4}D.[l,2,3,4]

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

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

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

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

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

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

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

15.下载但不安装一个第三方库的命名格式是()。

A.pipdownload<第三方库名>

B.pipuninstall<第三方库名>

C.pipinstall<第三方库名>

D.pipsearch<第三方库名>

16.某完全二叉树有256个节点,则该二叉树的深度为()。

A.7B.8C.9D.10

17.文件family,txt在当前代码所在目录内,其内容是一段文本:Wearefamily。以下代码的输出结果是()。txt=open(“family.txt”,“r”)print(txt)txt.close()

A.txtB.family,txtC.非其他答案D.Wearefamily

18.以下程序Dog类中的__init__()方法共包含几个形参()。ClassDog(): def__init__(self,name,age) =name self.age=age

A.0个B.1个C.2个D.3个

19.数据流图中带有箭头的线段表示的是()。

A.控制流B.事件驱动C.模块调用D.数据流

20.在软件开发中,需求分析阶段产生的主要文档是()。

A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书

21.有两个关系R、S如下:

由关系R通过运算得到关系S,则所使用的运算为()。

A.选择B.投影C.插入D.连接

22.以下程序的输出结果是()。foriinrange(3): forjin“dream”: ifj==“e” continue print(j,end=“”)

A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream

23.设二叉树中有20个叶子节点,5个度为1的节点,则该二叉树中总的节点数为()。

A.46B.45C.44D.不可能有这样的二叉树

24.文件family.txt在当前代码所在目录内,其内容是一段文本:Wearefamily,以下代码的输出结果是()。txt=open(”family.txt”,”r”)print(txt)txt.close()

A.txtB.family.txtC.非其他答案D.Wearefamily

25.以下程序的输出结果是()。Deffun(x):try:Returnx*4except:returnxprint(fun("5"))

A.20B.5555C.5D.9

26.实体电影和实体演员之间的联系是()。

A.—对一B.多对多C.多对一D.一对多

27.第三方库Beauifulsoup4的功能是()。

A.解析和处理HTML和XMLB.支持web应用程序框架C.支持webservices框架D.处理http请求

28.下面关于对象和类的关系描述错误的是()。

A.每个对象都是由其对应的类创建出来的

B.对象是类的实例化

C.如果直接使用类名修改其属性,不会影响到已经实例化的对象

D.类是具有相同属性和方法的对象的集合

29.对于序列s,以下选项对min(s)描述正确的是()。

A.可以返回序列s中的最小元素,如果存在多个相同的最小元素,则返回一个列表类型

B.一定能够返回序列s中的最小元素

C.可以返回序列s中的最小元素,如果存在多个相同的最小元素,则返回一个元组类型

D.可以返回序列s中的最小元素,但要求s中元素可比较

30.在数据库设计中,将E-R图转换成关系数据模型的过程属于()。

A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段

二、判断题(10题)31.列表对象的pop()方法默认删除并返回最后一个元素,如果列表已空则抛出异常。

A.是B.否

32.在Python3.x中可以使用中文作为变量名。

A.是B.否

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

A.是B.否

34.Python标准库threading中的Lock、RLock、Condition、Event、Semaphore对象都可以用来实现线程同步。

A.是B.否

35.在Python中0xad是合法的十六进制数字表示形式。

A.是B.否

36.在循环中continue语句的作用是跳出当前循环。

A.是B.否

37.Python采用的是基于值得自动内存管理方式。

A.是B.否

38.同一个列表对象中所有元素必须为相同类型。A.是B.否

39.在调用函数时,可以通过关键参数的形式进行传值,从而避免必须记住函数形参顺序的麻烦。

A.是B.否

40.假设x是含有5个元素的列表,那么切片操作x[10:]是无法执行的,会抛出异常。

A.是B.否

三、填空题(10题)41.表达式{1,2,3}|{3,4,5}的值为_____________________。

42.已知vec=[[1,2],[3,4]],则表达式[[row[i]forrowinvec]foriinrange(len(vec[0]))]的值为_________________________。

43.字典中多个元素之间使用____________分隔开,每个元素的“键”与“值”之间使用________分隔开。

44.表达式chr(ord('D')+2)的值为__________。

45.已知列表x中包含超过5个以上的元素,那么表达式x==x[:5]+x[5:]的值为________。

46.已知字典x={i:str(i+3)foriinrange(3)},那么表达式sum(x)的值为______。

47.已知有函数定义defdemo(*p):returnsum(p),那么表达式demo(1,2,3)的值为______、表达式demo(1,2,3,4)的值为_________。

48.在IDLE交互模式中浏览上一条语句的快捷键是__________。

49.Python标准库os.path中用来判断指定文件是否存在的方法是______________。

50.表达式int('123')的值为_____________。

四、操作题(3题)51.考生文件夹下存在一个Python源文件“PY301.py”,请按照文件内说明修改代码,实现以下功能。恺撒密码是一种非常古老的加密算法,相传当年恺撒大帝行军打仗时为了保证自己的命令不被敌军知道,它采用了替换方法将信息中的每一个英文字母循环替换为字母表序列中该字母后面的第三个字母,即循环后三位,对应关系如下。原文:ABCDEFGHIJKLMNOPQRSTUVWXYZ密文:DEFGHIJKLMNOPQRSTUVWXYZABC原文字母P,其密文字母C满足如下条件。C=(P+3)mod26解密方法反之,满足如下条件。P=(C-3)mod26恺撒密码包括加密算法和解密算法两个部分。恺撒密码的加密算法程序首先接收用户输入的文本,然后对字母a?z和字母A?Z按照密码算法进行转换,同时输出。其他非英文字母原样输出。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意..提示框架的代码可以任意修改,以完成程序功能为准intxt=input(“请输入明文:")

52.考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能:马和骆驼都是哺乳动物的一种,它们都有四只脚,体型也差不多大,作为现实世界中的一个类生物,我们将在这里为它们编写属于它们各自的类。

问题1:在PY301一1.py文件中修改代码,代码中编写了一个马(Home)的类,在这个类中马有三个属性,分别是年龄(age)、品种(category)和性别(gender)。在每创建一个马的对象时,我们需要为其指定它的年龄、品种和性别。该类中还编写一个get_deseriptive()方法,能够打印出马的这三个属性。每一匹马都有自己的最快速度,所以类中有一个speed()方法,可以打印出马的最快速度值。并且在马的生命过程中,它的速度一直在变,类中还有一个update_speed()方法用来更新马当前的最快速度值。

例如:一匹12岁的阿拉伯公马,在草原上奔跑的速度为50km/h,要求调用get_descriptive()和update_speed()方法,将输出的结果保存在考生文件夹下,文件命名为“PY301—1.txt”。

试题程序:

#以下代码为提示框架

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

#请在_____处使用一行代码替换

#注意:提示框架代码可以任意修改,以完成程序功能为准

fo=open(“PY301—1.txt”,”W”)______Horse():

def______(self,category,gender,age):

defget_descriptive(self):

info=’thishorseis’+_____+’yearsold,’+’itscategoryis’+_+’,’+’itsfenderis’+_______+’.’

fo.write(info+“\n”)

defupdate_speed(self,new_speed):________

fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)

fo.close()

问题2:在PY301—2.py文件中修改代码,该代码编写了一个骆驼类(Camel),这个类继承自上一个文件中的马类但是不对马类中的属性和方法进行操作。因为每个骆驼的驼峰数量不一致,我们在类中添加驼峰数目这个新属性,并且添加一个打印出骆驼驼峰数量的方法。

例如:一个双峰驼20岁的母骆驼以每小时40千米的速度奔跑在沙漠中,调用父类的方法和Camel类本身的方法将结果保存在“PY301—2.txt”中,保存在考生文件夹下。试题程序:#以下代码为提示框架#请在…处使用一行或多行代码替换

#请在________处使用一行代码替换

#注意:提示框架代码可以任意修改,以完成程序功能为准

fo=open(”PY301—2.txt”,”W”)

________Horse():

def_______(self,category,gender,age):

defget_descriptive(self):

info=’thishorseis’+________+’yearsold,’+’itscategoryis’+_______+’,’+’itsfendemis’+_______+’.’

fo.write(info+"\n")

defupdate_speed(self,new_speed):

________fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.\n”)clasSCamel(Horse):

def__init__(self,category,gender,age):

______.__init__(category,gender,age)

self.hump_size=2defdescribe_hump_size(self):

fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)

fo.close()

53.考生文件夹下存在一个文件“PY201.py”,请写代码替换横线,不修改其他代码,实现以下功能。使用turtle库中的pencolor()和fillcolor()方法为图形着色(画笔颜色为黑色,填充颜色为红色),使用set-up()方法在桌面(400,400)的位置创建600像素×600像素的画布窗体,效果如下所示。试题程序#请在_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_____(1)_____('black')_____(2)_____("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()

参考答案

1.D

2.BPython中三种基本数字类型是整数类型、浮点类型、复数类型。

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

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

5.APython提供的3种基本的数字类型为整数类型、浮点数类型、复数类型,分别对应数学中的整数、实数和复数。本题选择A选项。

6.DPython是一种解释型高级通用脚本语言,具有通用性,可以用于几乎任何与程序设计相关应用的开发。Python主要应用于以下几个领域:Web开发、爬虫开发、科学计算、高性能服务器后端、开发界面程序。QT也提供了Python的支持,因为Python的开源库包含对C/C++lib库的调用。D选项中,“主要”二字太过绝对。本题选择D选项。

7.C

8.DPython是一种脚本解释语言,与C、C++和Java有很大的区别,没有主函数的说法。当运行单个Python文件时,如文件名为a.py,贝!]a的属性__name__==‘__name__’,并不是首先执行所谓main()函数。Python整个程序自顶向下顺序执行。本题选择D选项。

9.C程序中,将实参b的值传给形参a,将实参a的值传给形参b,则在函数体中c=2**2+10=14,函数返回14,则实参c=14+10=24;形参a和b在函数结束后会自动释放,并没有影响到实参a和b的值,故实参a仍然是10,实参b仍然是2。

10.B因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。本题选择B选项。

11.Cclose()函数用于文件关闭,通过file.close()的方式调用,不是Python的内置函数。本题选择C选项。

12.Brange()函数的语法格式为range(\nstart,stop,step),作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列(注意不包含参数stop)\n,step是步进参数。一般默认start为0,步进step=1,如range(5),生成0、1、2、3、4。list()生成列表,所以最后列表IS=\n[0,1,2,3,4]。本题选择B选项。

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

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

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

16.C

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

18.D__init__()方法是一个特殊的方法,每当根据类创建新实例时,Python就会自动运行该方法。该方法的开头和结尾各有两个下划线,这是一种约定,旨在避免Python的默认方法和普通方法发生命名冲突。self、name、age都是__init__()方法的形参,所以共3个。本题选择D选项。

19.D数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。本题选择D选项。

20.D需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。所以选择D。

21.B投影运算是指对于关系内的域指定可引入新的运算。本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系。本题选择B选项。

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

23.C二叉树中只存在度为0、1、2的结点,根据在二叉树中度为0的结点(叶子结点)总比度为2的结点多一个,可知本题中度为2的结点有20-1\n=19个。故该二叉树中总的结点数为20+5+19=44个。本题选择C选项。

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

25.Bfum(”5”)将字符5赋给形参x,由于5是字符类型,不是数字类型,不能进行数值运算,因此x\n*4是把字符5连续复制4次输出。本题选择B选项。

26.B一部电影可由多名演员参演,一名演员可以参演多部电影,因此实体电影和实体演员之间的联系是多对多。本题选择B选项。

27.ABeautifulsoup4-用于解析和处理HTML和XML。它的最大优点是能根据HTML和XML语法建立解析树,进而高效解析其中的内容。

28.CA、B、D三项的论述都正确,符合类和对象的定义;C项当直接使用类名修改属性,会影响到已经实例化的对象,错误。

29.Dmin()函数返回给定参数的最小值,但是要求给定参数是可以比较的。若给定的参数不能比较,则会报错;若给定参数存在多个最小元素,min()只会返回序列中最小的一个元素。故答案为D项。

30.CE-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。

31.Y

32.Y

33.N

34.Y

35.Y

36.N

37.Y

38.N

39.Y

40.N

41.{1,2,3,4,5}

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

43.逗号、冒号

44.'F'

45.True

46.3

47.6、10

48.Alt+P

49.exists()

50.12351.intxt=input(”请输入明文:”)ForpinintxtIf”a”<=p<=”z”:Print(chr(ord(“a”)+(ord(p)-ord(“a”)+3%26),end=””)Elif”A”<=p<=”z”:Print(chr(ord(“A”)+(ord(p)-ord(“A”)+3%26),end=””)Else:Print(p,end=””)使用for循环遍历输入的每一个字符:如果输入的字符是大小写字母,把该字母替换为该字母后面的第三个字母,将转换后的字母进行输出;如果输入的字符不是大小写字母,则原样输出字符,该部分功能通过if多分支结构实现。

52.(1)fo=open(”PY301一1.txt”,”w”)\r\nclassHorse():

def==init==(self,category,gender,age):\r\n

self.category=category\r\n

self.gender=gender\r\n

self.age=age\r\n

self.horse_speed=0\r\n

defget_descriptive(self):\r\n

info=’thishorseis’+str(self.age)+’yearsold,’+’itscategoryis’+self.category+’,’+'itsfenderis'+self.gender+’.’\r\n

fo.write(info+”\n”)\r\ndefupdate_speed(self,new_speed):\r\n

self.horse_speed=new_speed\r\n

fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)\r\nhorse=Horse("Arab","male","12")\r\nhorse.get_deseriptive()\r\nhorse.update_speed(50)\r\nfo.close()\r\n(2)fo=open(”PY301~2.txt”,”w”)\r\nclassHorse():\r\n

def__init__(self,category,gender,age):\r\n

self.category=category\r\n

self.gender=gender\r\n

self.age=age\r\n

self.horse_speed=0\r\ndefget_descriptive(self):\r\n

info=’thishorseis’+str(self.age)+’yearsold,’+’itscategoryis’+self.category+’,’+\r\n'itsfenderis’+self.gender+’.’\r\n

fo.write(info+”\n”)\r\ndefupdate_speed(self,new_speed):\r\n

self.horse_speed=new_speed\r\n

fo.write(’thespeed0fthishorseis’+str(self.horse_speed)+”km/h.\n”)\r\n

温馨提示

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

评论

0/150

提交评论