广东省梅州市全国计算机等级考试Python语言程序设计模拟考试(含答案)_第1页
广东省梅州市全国计算机等级考试Python语言程序设计模拟考试(含答案)_第2页
广东省梅州市全国计算机等级考试Python语言程序设计模拟考试(含答案)_第3页
广东省梅州市全国计算机等级考试Python语言程序设计模拟考试(含答案)_第4页
广东省梅州市全国计算机等级考试Python语言程序设计模拟考试(含答案)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

广东省梅州市全国计算机等级考试Python语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.下列叙述中正确的是()。

A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对

2.用Pylnstaller工具打包Python源文件时,-F参数的含义是()。

A.指定所需要的第三方库路径

B.在dist文件夹中只生成独立的打包文件

C.指定生成打包文件的目录

D.删除生成的临时文件

3.以下关于文件的描述中,正确的是()。

A.使用open()打开文件时,必须要用r或w指定打开方式,不能省略

B.采用readlineS()可以读入文件的全部内容,返回一个列表

C.文件打开后,可以用write()控制对文件内容的读写位置

D.如果没有采用close()关闭文件,Python程序退出时文件将不会自动关闭

4.执行以下代码的结果是?intx=-3;inty=-10;System.out.println(y%x);A.-1B.2C.1D.3

5.下面关于Python中匿名函数lambda的说法错误的是()。

A.lambda拥有自己的命名空间,不能访问自己参数列表之外或全局命名空间的参数

B.lambda的主体是一个表达式,而不是一个代码块

C.使用lambda省去了定义函数的过程,代码更加精简

D.f=lambdax:x*x,匿名函数中冒号前的x表示函数名称

6.执行以下代码的结果是()A.A.'David'

B.['David']

C.['d']

D.'d'

7.基本路径测试属于()。

A.黑盒测试方法且是静态测试B.黑盒测试方法且是动态测试C.白盒测试方法且是动态测试D.白盒测试方法且是静态测试

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

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

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

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

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

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

A.seabornB.randomC.mayavi2D.numpy

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

A.eggB.1C.foodD.nothisfood

11.树的度为3,共有29个结点,但没有度为1和2的结点。则该树中叶子结点数为()。

A.OB.9C.18D.不可能有这样的树

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

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

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

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

14.下面关于Python中的变量描述错误的是()。

A.全局变量和局部变量两者的本质区别就是在于作用域

B.全局变量在函数内部和函数外部都可以访问使用

C.局部变量也可以在函数外部使用

D.在函数内部要对全局变量进行修改,需要加上global声明

15.以下代码的输出结果是()。forsin“PythonNice!”:ifs==“i”:breakprint(s,end=“”)

A.PythonB.PythonNC.PythonNiD.PythonNice

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

A.printf(”Hello,World”)

B.printf(Hello,World)

C.print(”Hello,World”)

D.print(Hello,World)

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

A.条件4<=5<=6是合法的,输出False

B.条件4<=5<=6是不合法的

C.条件4<=5<=6是合法的,输出True

D.条件4<=5<=6是不合法的,抛出异常

18.学校规定一个年级的所有班配备一名辅导员,则实体班级与实体辅导员之间的联系是()。

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

19.以下关于Python全局变量和局部变量的描述中,错误的是()。

A.当函数退出时,局部变量依然存在,下次函数调用可以继续使用

B.全局变量一般指定义在函数之外的变量

C.使用global保留字声明后,变量可以作为全局变量使用

D.局部变量在函数内部创建和使用,函数退出后变量被释放

20.以下保留字不用于循环逻辑的是()。

A.tryB.elseC.forD.continue

21.以下关于Python文件打开模式的描述中,错误的是()。

A.只读模式“r”B.覆盖写模式“w”C.追加写模式“a”D.创建写模式“n”

22.以下代码的输出结果是()。CLis=list(range(5))print(5inCLis)

A.TrueB.FalseC.0D.一1

23.以下代码的输出结果是()。S='Pame’Foriinrange(len(S)):print(S[-i],end=”")

A.PameB.emaPC.amePD.Pema

24.在Python中,关于数据类型的描述错误的是()。

A.整数的书写格式支持十进制、二进制、八进制及十六进制

B.如果想知道参数的数据类型,可以使用type()函数获得

C.整数、浮点数、复数及布尔值都是Python的基本数据类型

D.浮点数是带有小数的数字,它存在范围的限制,如果计算结果超出上限和下限的范围不会报错,但会有warning的警告

25.在Python3下输入100000000L,会得到()

A.100000000LB.100000000C.SyntaxError:invalidsyntaxD.1e8

26.以下描述错误的是()。

A.Python语言是一门动态的解释型语言

B.当Python脚本程序发生了异常,如果不处理,运行结果不可预测

C.编程语言中的异常和错误是完全相同的概念

D.Python通过try、except等保留字提供异常处理功能

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

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

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

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

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

A.类是一种实例

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

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

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

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

A.创建子类时,父类必须包含在当前文件夹且位于子类的前面

B.定义子类时,必须在圆括号内指明子类所要继承的父类的名称

C.如果调用的是继承的父类中的公有方法,可以在这个公有方法中访问父类中的私有属性和私有方法

D.如果在子类中实现了一个公有方法,该方法也能调用继承的父类中的私有方法和私有属性

二、判断题(10题)31.集合可以作为元组的元素。

A.是B.否

32.表达式[]==None的值为True。

A.是B.否

33.删除列表中重复元素最简单的方法是将其转换为集合后再重新转换为列表。

A.是B.否

34.0o12f是合法的八进制数字。

A.是B.否

35.在Python中可以使用id作为变量名,但是不建议这样做。

A.是B.否

36.生成器推导式比列表推导式具有更高的效率,推荐使用。

A.是B.否

37.Python集合可以包含相同的元素。

A.是B.否

38.列表对象的extend()方法属于原地操作,调用前后列表对象的地址不变。

A.是B.否

39.Python类的构造函数是__init__()。

A.是B.否

40.4j是合法Python数字类型。

A.是B.否

三、填空题(10题)41.Python关键字elif表示__________和___________两个单词的缩写。

42.表达式eval('''__import__('math').sqrt(9)''')的值为______________。

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

44.Python标准库random中的___________方法作用是从序列中随机选择1个元素。

45.表达式'apple.peach,banana,pear'.find('p')的值为______________。

46.Python扩展库_____________支持Excel2007或更高版本文件的读写操作。

47.语句print(re.match('abc','defg'))输出结果为_____________。

48.已知vec=[[1,2],[3,4]],则表达式[colforrowinvecforcolinrow]的值为__________________________。

49.表达式int('123',8)的值为_________。

50.Python标准库random中的sample(seq,k)方法作用是从序列中选择________(重复?不重复?)的k个元素。

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

试题程序:

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

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

ifcount%2==0:

print(count,end=”,”)

52.考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。用键盘输入两个大于0的整数,按要求输出这两个整数之间(不包括这两个整数)的所有素数。素数又称质数,是指除了1和它本身以外不能被其他整数整除的数。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准lower=int(input(‘输入区间最小值:’))upper=int(inputs(‘输入区间最大值:’))fornuminrange(_____,_____):

53.考生文件夹下存在两个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()

参考答案

1.D【答案】:D

【知识点】:栈和队列

【解析】:栈和队列都是线性结构,所以选项C错误;栈是一种先进后出的线性表,故选项A错误;队列是一种先进先出的线性表,故选项B错误,所以选D。

2.B-F是指在dlst文件夹中只生成独立的打包文件(即.exe文件),所有的第三方依赖、资源和代码均打包到此文件中。本题选择B选项。

3.B使用Open()打开文件时,省略打开方式会默认以只读方式打开;文件打开后,可以用seek()控制对文件内容的读写位置,write()方法只是向文件写人一个字符串或是字节流;如果没有采用close()关闭文件,有可能会导致数据丢失。Python程序退出时文件一般会自动关闭。本题选择B选项。

4.A

5.Dlambda冒号前的x代表的是函数的参数。本题选择D选项。

6.D

7.C白盒测试方法主要有逻辑覆盖、基本路径测试等。黑盒测试方法主要有等价类划分法、边界值分析法、错误推测法及因果图等。基本路径测试根据软件过程性描述中的控制流确定程序的环路复杂性度量,用此度量定义基本路径的集合,并由此导出一组测试用例对每一条独立执行路径进行测试。因此,基本路径测试属于动态测试。本题选择C选项。

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

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

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

11.D树的度为3,即树中只存在度为0、1、2、3的结点,假设叶子结点数为n,由于没有度为1和2的结点,则度为3的结点数为29一n,根据树中的结点数=树中所有结点的度之和+1,得3×(29一n)+0×1+0×2+n×0+1=29,得出的n不为整数,因此不存在这样的树。本题选择D选项。

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

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

14.C局部变量是指在函数内部使用的变量,仅在函数内部有效,当函数使用过后,变量从内存中释放,所以C选项错误。

15.Bfor循环遍历字符串,将字符串中的字符依次赋值给变量s,当s=i的时候,跳出该循环,输出之前变量s被赋值的字符,所以输出为PythonN。

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

17.C判断条件4<=5<=6是成立的,故输出True。本题选择C选项。

18.B一个年级有很多班,这些班只配备一个名辅导员,因此实体班级与实体辅导员之间的联系是多对一。

19.A根据程序中变量所在的位置和作用范围,变量分为局部变量和全局变量。局部变量指在函数内部定义的变量,仅在函数内部有效,且作用域也在函数内部,当函数退出时变量将不再存在。全局变量一般指在函数之外定义的变量,在程序执行全过程有效。全部变量在函数内部使用时,需要提前使用保留字global声明,语法形式:global<全局变量>。使用global对全局变量声明时,该变量要与外部全局变量同名。

20.A用于循环逻辑的保留字:while、for、else、break、continue。try用于捕捉异常。

21.D文件打开模式如下。“V”:只读模式,如果文件不存在,返回异常FileNotFmindError,默认值。“X”:创建写模式,文件不存在则创建,存在则返回异常FileExlstsError。“w”:覆盖写模式,文件不存在则创建,存在则完全覆盖原文件。“a”:追加写模式,文件不存在则创建,存在则在原文件最后追加内容。文件打开模式中没有“n”。本题选择D选项。

22.Brange()函数的语法:range(start,stop,step),作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列(注意不包含数stop),step是步进参数。cLis=list(range(5)),生成一个列表,包含0,1,2,3,4。因为5不在CLis列表中,故返回False。

23.Drange()函数的语法格式为range(\nstart,stop,step),作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列(注意不包含参数stop)\n,step是步进参数。一般默认start为0,步进step=1,如range(5),生成0、1、2、3、4。len(3)=4,foriin\nrange(4)表示i从0开始取值,当i=0时,print(S[0],end=”'),输出P;当i=1时,print(S[-1],end=””),输出e;当i=2时,print(S[-2],end=\n””),输出m;当i=3时,print(S[-3],end=''),输出a。故代码输出结果为Pema。本题选择D选项。

24.D浮点数的取值范围为-10308?10308,浮点数之间的区分精度约为2.22xl0-16。对于除高精度科学计算外的绝大部分运算来说,浮点数类型的数值范围和小数精度足够“可靠”,一般认为浮点数类型没有范围限制。如果计算结果超出上限和下限的范围会产生溢出错误。本题选择D选项。

25.C

26.C异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。错误是指导致系统不能按照用户意图工作的一切原因、事件。在程序设计过程中,由于某些错误的存在,致使程序无法正常运行,处理这些错误以使程序正确运行就称为错误处理。异常和错误是完全不同的概念。

27.D

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

29.AA选项中类只是一种抽象事物的分类,对象才是一种实例。

30.D在Python类的继承中,如果调用的是继承父类的公有方法,可以在公有方法中访问父类中的私有属性和私有方法;但是如果子类中实现了一个公有方法,那么这个方法是不能够调用继承父类中的私有方法和私有属性的,本题选择D选项。

31.Y

32.N

33.Y

34.N

35.Y

36.Y

37.N

38.Y

39.Y

40.Y

41.else、if

42.3.0

43.14

44.choice()

45.1

46.openpyxl

47.None

48.[1,2,3,4]

49.83

50.不重复

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.lower=int(input(‘输入区间最小值:’))upper=int(inputs(‘输入区间最大值:’))fornuminrange(lower+1,upper):Ifnum>1:Foriin染个(2,num):If(num%i)==0:BreakElse:Print(num)题目要求输出两个整数之间(不包括这两个整数)的所有素数,因此mnge()函数的参数应为lower+1和upper。for循环遍历range(lower\r\n+l,upper)返回的每个整数num,判断该数是否为素数。如果num大于1(1既不是素数也不是合数),且该数能被取值范围为[2,num-1\r\n]的任何一个整数整除,那么该数一定不是素数,否则一定是素数。

53.(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):\

温馨提示

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

评论

0/150

提交评论