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

下载本文档

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

文档简介

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

一、单选题(30题)1.下面代码的输出结果是()。forxinrange(2,8):y=0y+=Xprint(y)

A.27B.7C.8D.35

2.用键盘输入数字5,以下代码的输出结果是()。n=eval(input("请输入一个整数:"))s=0ifn>=5:n-=1s=4ifn<5:n-=1s=3print(s)

A.4B.3C.0D.2

3.Python中文件的打开模式为‘t’,对应的文件打开模式为()。

A.只读模式B.只写模式C.文本文件模式D.二进制文件模式

4.以下程序的输出结果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?

A.无输出B.PythonC.PythoD.PythonCRE

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

B.['David']

C.['d']

D.'d'

6.以下关于数据组织的描述中,错误的是()。

A.—维数据采用线性方式组织,可以用Python集合或列表类型表示

B.列表类型仅用于表示一维和二维数据

C.二维数据采用表格方式组织,可以用Python列表类型表示

D.更高维数据组织由键值对类型的数据构成,可以用Python字典类型表示

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

A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

C.顺序存储结构能存储有序表,链式存储结构不能存储有序表

D.链式存储结构比顺序存储结构节省存储空间

8.以下程序的输出结果是().img1=[12,34,56,78]img2=[1,2,3,4,5]defmodi():img1=img2print(img1)modi()print(img1)A.[12,34,56,78][1,2,3,4,5]

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

C.[12,34,56,78][12,34,56,78]

D.[1,2,3,4,5][12,34,56,78]

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

A.eggB.1C.foodD.nothisfood

10.数据库管理系统是()。

A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统

11.以下关于元组的描述正确的是()。

A.元组和列表相似,所有能对列表进行的操作都可以对元组进行

B.创建元组时,若元组中仅包含一个元素,在这个元素后可以不添加逗号

C.元组中的元素不能被修改

D.多个元组不能进行连接

12.以下代码的输出结果是()。Is=[]formin‘想念‘fornin‘家人’Is.append(m+n)print(Is)

A.想念家人B.想想念念家家人人C.想家想人念家念人D.[‘想家’,’想人’,’念家’,’念人’]

13.有3个关系R、S、T如下:

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

A.并B.自然连接C.笛卡儿积D.交

14.下面关于CSV文件描述错误的是()。

A.CSV文件格式是一种通用的文件格式,应用于程序之间转移表格数据

B.CSV文件的每一行是一维数据,可以使用Python中的列表类型表示

C.CSV文件通过多种编码表示字符

D.整个CSV文件是一个二维数据

15.以下程序的输出结果是()。a=3.6e一1b=4.2e3print(b—a)

A.4199.64B.7.8e2C.0.6e一4D.4199.064

16.执行eval('l1=[5,7,9]')后()

A.[5,7,9]B.l1=[5,7,9]C.异常D.没有任何返回

17.执行以下代码的结果是?A.300B.400C.500D.600

18.以下关于Python语言中try语句的描述中,错误是()。

A.try用来捕捉执行代码发生的异常,处理异常后能够回到异常处继续执行

B.当执行try代码块触发异常后,会执行except后面的语句

C.一个try代码块可以对应多个处理异常的except代码块

D.try代码块不触发异常时,不会执行except后面的语句

19.下列关于Python的描述正确的是()。

A.列表的下标是从1开始的

B.元组的元素值可以修改、删除、连接

C.字典中的“键”只能是整数、字符串

D.集合分为可变集合和不可变集合,可变集合的元素可以添加、删除

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

A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

D.循环队列中元素的个数是由队头指针和队尾指针共同决定

21.以下程序的输出结果是()。d={}foriinrange(26): d[chr(i+ord(“A”))]=chr((i+13)%26+ord(“A”))forcin“Python”: print(d.get(c,c),end=“”)

A.PlgubaB.CabuglC.PythonD.Cython

22.下面属于Python文本处理方向的第三方库的是()。

A.PILB.mayaviC.TVTKD.pdfminer

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

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

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

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

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

24.结构化程序的3种基本控制结构是()。

A.递归、堆栈及队列B.过程、子程序及函数C.顺序、选择及重复D.调用、返回及转移

25.Python读取文件中一行内容的操作是()。

A.readtextB.readlineC.readallD.read

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

A.NoneB.FalseC.FalseorFalseD.True

27.生成一个k比特长度的随机整数的函数是()。

A.random.choice(k)

B.random.shuffle(k)

C.random.getrandbits(k)

D.random.sample(k)

28.以下代码的输出结果是()。d={”大海”:”蓝色”,”天空":”灰色","大地":”黑色”}print(d["大地”],d.get("天空”,"黄色”))

A.黑色黑色B.黑色灰色C.黑色黄色D.黑色蓝色

29.以下程序的输出结果是()。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”

30.下列叙述中正确的是()。A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的

B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构

C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构

D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性

二、判断题(10题)31.Python是一种跨平台、开源、免费的高级动态编程语言。

A.是B.否

32.Python字典中的“键”可以是元组。

A.是B.否

33.Python标准库os中的方法listdir()返回包含指定路径中所有文件和文件夹名称的列表。

A.是B.否

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

A.是B.否

35.使用OpenGL画图时,画点是最基本的操作,具体生成的图形由glBegin()函数指定的mode来决定。例如,mode值为GL_TRIANGLES时表示将要绘制三角形。

A.是B.否

36.定义函数时,即使该函数不需要接收任何参数,也必须保留一对空的圆括号来表示这是一个函数。

A.是B.否

37.在Python中,任意长的字符串都遵守驻留机制。

A.是B.否

38.函数是代码复用的一种方式。

A.是B.否

39.只能通过切片访问列表中的元素,不能使用切片修改列表中的元素。

A.是B.否

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

A.是B.否

三、填空题(10题)41.表达式abs(3+4j)的值为____________。

42.Python内置函数()用来返回序列中的最小元素。

43.random模块中_____________方法的作用是将列表中的元素随机乱序。

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

45.已知列表x=[1,3,2],那么执行语句y=list(reversed(x))之后,x的值为__________。

46.已知x={'a':'b','c':'d'},那么表达式'b'inx的值为______________。

47.表达式eval('''__import__('math').sqrt(3**2+4**2)''')的值为_________。

48.表达式list(filter(None,[0,1,2,3,0,0]))的值为___________________。

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

50.如果函数中没有return语句或者return语句不带任何返回值,那么该函数的返回值为_________________。

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

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

试题程序:

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

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

ifcount%2==0:

print(count,end=”,”)

参考答案

1.B变量x依次被赋值为[2,8)区间的自然数,在循环内定义一变量y并赋值为0,即每次计算累加和之前y都被清零,所以结果为7。

2.B输入5,因为n=5满足第一个if条件,所以11=11-1,11=4,8=4;由于现在11=4,满足第二个if条件,所以执行11=\n11-1,11=3,8=3。Print(s),输出3。本题选择B选项。

3.C在Python中,文件的打开模式对应为:“r”表示只读模式;“w”表示只写模式;“t”表示文本文件模式;“b”表示二进制文件模式。本题选择C选项。

4.A本题中,break语句出现在print语句之前,当if的条件为True时,执行break语句,跳出for循环,不再执行循环体中break后面的语句,故无输出。

5.D

6.A一维数据采用线性方式组织,在Python中主要采用列表形式表示,集合不属于线性结构。在Python中,列表类型仅用于表示一维和二维数据。二维数据采用二维表格方式组织,在Python中可以采用二维列表形式表示。高维数据由键值对类型的数据构成,采用对象方式组织,在Python中可以采用字典类型表示。本题选择A选项。

7.A链式存储结构既可以针对线性结构也可以针对非线性结构,所以选项B,C错误。链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D选项错误。本题选择A选项。

8.D程序先调用函数modi(),在函数体内进行赋值操作,列表对象的赋值就是简单的对象引用。函数体内,img1和img2是一样的,它们指向同一片内存,img1不过是img2的别名。因此,函数调用执行后输出[1,2,3,4,5]。然后执行print(img1),此处的img1是外部变量,与函数体内img1不是同一个变量,仍输出[12,34,56,78]。本题选择D选项。

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

10.B数据库管理系统是管理数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护、数据服务等。它是一种在操作系统支持下的系统软件。本题选择B选项。

11.C元组和列表相似,但并不是所有能对列表进行的操作都可以对元组进行,如可以对列表进行修改元素,但对元组则不可以;创建元组时,即使元组中仅包含一个元素,也要在这个元素后添加逗号;多个元组可以使用“+”号进行连接。

12.D外层fox第1次循环将字符’想’赋给变量m,m=‘想’,内层for第1次循环将’家’赋给变量n,则m+\nn连接字符,利用列表的append()方法将连接后的字符’想家’加入列表Is;内层for第2次循环将’人’赋给变量n,则m+\nn连接字符,利用列表的append()方法将连接后的字符’想人’加入列表Is。外层for第2次循环将字符’念’赋给变量m,m\n=’念’,内层for第1次循环将家赋给变量n,则m+\nn连接字符,利用列表的append()方法将连接后的字符’念家'加入列表Is;内层for第2次循环将’人’赋给变量n,则m+\nn连接字符,利用列表的append()方法将连接后的字符’念人’加入列表Is。最后列表Is=\n[‘想家’,’想人’,’念家’,’念人’],print(ls)输出Is。本题选择D选项。

13.D自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以B选项错误。笛卡儿积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C选项错误。可以很明显地看出,关系T是从关系R与关系S中取得的相同的关系组,所以使用的是交运算。本题选择D选项。

14.CCSV文件采用纯文本格式,通过单一编码表示字符。以行为单位,开头不留空行,行之间没有空行。每行表示一个一维数据,多行表示多维数据。以逗号分隔每列数据,列数据为空也要保留逗号。本题选择C选项。

15.A程序中b=4200,a=0.36,b—a=4199.64。本题选择A选项。

16.C

17.B

18.APython语言使用保留字try和except进行异常处理,基本的语法格式如下:\ntry:\n<语句块1>\nexcept:\n<语句块2>\n“语句块1”是正常执行的程序内容,当执行这个语句块发生异常时,则执行except保留字后面的“语句块2”,一个try代码块可以对应多个处理异常的except代码块。

19.D列表的下标是从0开始的;元组的元素值可以删除、连接,但不能被修改;字典中的“键”可以是整数或者字符串,但也可以是函数、元组、类等任意不可变类型。

20.D\r\n所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直到队尾指针real指向的位置之间所有的元素均为队列中的元素。求解队列中元素个数的方法是:若front>rear,队列中有n-front+rear个元素(其中n为循环队列的容量);若front<rear,队列中有real-front个元素;若front=rear,队列中有n个或0个元素。循环队列是线性结构。因此本题的正确答案是D。

21.Dord()函数是把字符转换成对应的ASCII值,chr()函数是ord()函数的逆运算,即把ASCII值转换成对应的字符输出,所以ord(“A”)为65。第一个for循环的作用是生成键值对存储在字典变量d中。例如,当i=0,d[A]=N;i=1,d[B]=0……—直到i=13,d[N]=A,后面的键和值与前面的是互换位置的,如i=14,d[0]=B;i=15,d[P]=C……依次循环赋值,直到i=25时结束for循环。第二个for循环的作用是输出字典的值,get(key,default=None)函数有两个参数:第一个参数是字典的键;第二个参数是默认值,作用是返回字典中key对应的值,如果key不存在,则返回默认值,如d={“A”:“N”,“0”:“B”,“Z”:“M”},d.get(“A”,“C”)返回的是N。当c=“P”时,在字典中查找是否存在键为“P”的值,遍历后发现存在这样的值,所以返回C。for循环继续遍历剩下的字符,在字典中找不到对应的键,则返回默认值,所以结果返回为Cython。本题选择D选项。

22.Dmayavi和TVTK是数据可视化方向的第三方库,PIL是图像处理方面的第三方库。本题选择D选项。

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

24.C1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择及重复这3种基本控制结构就足以表达出各种结构的程序设计方法。本题选择C选项。

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

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

27.Crandom.choice(k)用于从序列的元素中随机挑选一个元素;random.shuffle(k)用于将序列的所有元素随机排序;random.getrandbits(k)用于生成一个k比特长度的随机整数;random.sample(k)用于随机地从指定列表中提取出k个不同的元素。本题选择C选项。

28.B在Python中,字典是存储可变数量键值对的数据结构,通过字典类型实现映射。字典使用花括号({})创建,每个元素是一个键值对,语法格式为:{<键1>:<值1>,<键2>:\n<值2>,'…,<键n:<值n>}其中,键和值通过冒号连接,不同键值对通过逗号隔开。字典具有和集合类似的性质,即键值对之间没有顺序且不能重复。d[键]获取键对应值的值,d.get(key,defart)方法用来返回key对应的值,如果字典中不存在该键,则返回默认值。本题选择B选项。

29.Bappend()可以向列表元素的结尾增加元素。本题选择B选项。

30.B线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。

31.Y

32.Y

33.Y

34.Y

35.Y

36.Y

37.N

38.Y

39.N

40.N

41.5.0

42.min()

43.shuffle()

44.True

45.[1,3,2]

46.False

47.5.0

48.[1,2,3]

49.[1,2,3]

50.None

51.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]的任何一个整数整除,那么该数一定不是素数,否则一定是素数。

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,’+’

温馨提示

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

评论

0/150

提交评论