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

下载本文档

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

文档简介

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

一、单选题(30题)1.以下关于文件的描述中,正确的是()。

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

B.采用readlines()可以读入文件中的全部文本,返回一个列表

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

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

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

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

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

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

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

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

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

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

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

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

4.以下程序的输出结果是()。a=[[1,2,3],[4,5,6],[7,8,9]]s=0forcina: forjinrange(3): s+=c[j]print(s)

A.[1,2,3,4,5,6,7,8,9]B.45C.24D.0

5.以下程序的输出结果是()。t=10.5defabove_zero(t): returnt>0

A.TrueB.FalseC.10.5D.没有输出

6.以下关于Python循环结构的描述中,错误的是()。

A.break用来结束当前的循环语句,但不跳出当前的循环体

B.遍历循环中的遍历结构可以是字符串、文件、组合数据类型及range()函数等

C.Python通过for、while等保留字构建循环结构

D.continue只结束本次循环

7.S和T是两个集合,对S&T的描述正确的是()。

A.S和T的交运算,包括同时在集合S和T中的元素

B.S和T的并运算,包括在集合S和T中的所有元素

C.S和T的差运算,包括在集合S但不在T中的元素

D.S和T的补运算,包括S和T中的几个非相同元素

8.下面程序输出的结果是()。s1,s2=”Mom”,”Dad”print(”{}loves{}”.format(s2,s1))

A.DadlovesMomB.MomlovesDadC.s1lovess2D.s2lovessl

9.以下属于Python的映射类型的是()。

A.strB.tupleC.listD.diet

10.对于Python中的复数,下列说法错误的是()A.表示复数的语法是real+imagej

B.实部和虚部都是浮点数

C.虚部必须后缀j,且必须是小写

D.复数对象之间无法进行比较

11.列表l1=[1,2,3],则表达式1+l1()A.[2,3,4]B.[1,1,2,3]C.[1,2,4]D.异常

12.以下代码的输出结果是()。t=10.5defabove_zero(t):returnt>0

A.TrueB.FalseC.10.5D.没有输出

13.下面程序输出的结果是()。sl,s2=”Mom”,””Dad"Print(“{}loves{}format(s2,si))

A.DadlovesMomB.MomlovesDadC.sllovess2D.s2lovess1

14.层次性、网状性的划分原则是()。

A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式

15.以下关于Python循环结构的描述中,错误的是()。

A.while循环使用关键字continue结束本次循环

B.while循环可以使用保留字break和continue

C.while循环也叫遍历循环,用来遍历序列类型中元素,默认提取每个元素并执行一次循环体

D.while循环使用pass语句,则什么事也不做,只是空的占位语句

16.执行以下代码的结果是?3+5j>=5+3j

A.TrueB.FalseC.0D.异常报错

17.跳出所处的最近层循环的是()

A.breakB.continuesC.continueD.Pass

18.以下程序的输出结果是()。foriinreversed(range(7,4,-1)): print(i,end=“”)

A.7654B.765C.567D.4567

19.以下属于Python中Web开发框架第三方库的是()。

A.DjangoB.TinyDBC.audiolazyD.Pattem

20.在Python语言中,使用for…in方式形成的循环不能遍历的类型是()。

A.复数B.列表C.字典D.字符串

21.树的度为3,且有9个度为3的结点,5个度为1的结点,但没有度为2的结点。则该树中的叶子结点数为()。

A.18B.33C.19D.32

22.下列关于Python运算符的使用描述正确的是()。

A.a=!b,比较a与b是否不相等

B.a=+b,等同于a=a+b

C.a==b,比较a与b是否相等

D.a//=b,等同于a=a/b

23.下面代码的输出结果是()。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”

24.在Python语言中,不属于组合数据类型的是()。

A.浮点数类型B.列表类型C.字典类型D.字符串类型

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

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

26.dict([['one',1],['two',2]])的返回是()

A.{'one':1,'two':2}

B.[{'one':1,'two':2}]

C.{2,3}

D.['one','two']

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

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

28.下面代码的输出结果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)A.aaaaB.aabbC.bbaaD.bbbb

29.以下程序的输出结果是()。t="theWorldissobig,Iwanttosee"s=t[20:21]+'love'+t[:9]print(s)A.Ilovethe

B.IloveWorld

C.IlovetheWorld

D.IlovetheWorl

30.下面代码的输出结果是()。>>>s=(3,)>>>type(s)

A.<class'diet'>

B.<class'tuple’>

C.<class'list'>

D.<class'set’>

二、判断题(10题)31.运算符“-”可以用于集合的差集运算。

A.是B.否

32.在Python中可以使用if作为变量名。

A.是B.否

33.在多线程编程时,当某子线程的daemon属性为False时,主线程结束时会检测该子线程是否结束,如果该子线程尚未运行结束,则主线程会等待它完成后再退出。A.是B.否

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

A.是B.否

35.一个函数如果带有默认值参数,那么必须所有参数都设置默认值。

A.是B.否

36.在异常处理结构中,不论是否发生异常,finally子句中的代码总是会执行的。

A.是B.否

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

A.是B.否

38.在GUI设计中,复选框往往用来实现非互斥多选的功能,多个复选框之间的选择互不影响。

A.是B.否

39.下载whl文件进行离线安装扩展库时,因为whl文件的名字都比较长,可以改成短一些的名字再使用pip进行安装。

A.是B.否

40.以写模式打开的文件无法进读操作。

A.是B.否

三、填空题(10题)41.表达式[1,2]*2的值为______________。

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

43.Python运算符中用来计算整商的是_________。

44.Python3.x语句print(1,2,3,sep=',')的输出结果为________________。

45.表达式sorted([13,1,237,89,100],key=lambdax:len(str(x)))的值为___________________________________。

46.表达式set([1,2,3])=={1,2,3}的值为____________。

47.列表对象的sort()方法用来对列表元素进行原地排序,该函数返回值为

48.表达式type('3')in(int,float,complex)的值为__________。

49.表达式len(range(1,10))的值为___________。

50.在循环语句中,__________语句的作用是提前结束本层循环。

四、操作题(3题)51.考生文件夹下存在两个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()

52.考生文件夹下存在一个文件“PY201.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。使用turtle库的fd()函数和right()函数绘制一个边长为100像素的正六边形,再用circle()函数绘制半径为60像素的红色圆内接正六边形,效果如下所示。

试题程序:#以下代码为提示框架#请在_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fromturtleimport*pensize(5)foriinrange(6):fd(_____(1)_____)right

(_____(2)_____)color("red")circle(60,_____(3)_____)

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

参考答案

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

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

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

4.B外层for循环是将a[0]=[1,2,3],a[1]=[4,5,6],a[2]=[7,8,9]依次赋给变量c;内层for循环将变量j从0递增到2,即累加c[1]+c[2]+c[3]的值。所以内层循环加外层循环是计算1+2+3+4+5+6+7+8+9的值,即s=45。本题选择B选项。

5.D在Python中,return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return,此时函数并不返回值。return返回的是值而不是表达式,且此段语句并未调用函数,故程序无输出。本题选择D选项。

6.A在Python中,break意为结束循环,continue是结束当前循环进入下一个循环。本题选择A选项。

7.AS&T返回一个新集合,包括同时在集合S和T中的元素。本题选择A选项。

8.Af)ython语言使用.format()格式化方法,使用方式:<模板字符串>.format(<逗号分隔的参数>),其中模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用大括号({})表示,对应format()方法中逗号分隔的参数。如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应.format()方法中的不同参数。参数根据出现先后存在一个默认序号。本题选择A选项。

9.D映射类型是“键-值”数据项的组合,每个元素是一个键值对,即元素是(key,\nvalue),元素之间是无序的。键值对是一种二元关系,源于属性和值的映射关系。str、tuple及list都是序列类型,diet是映射类型。本题选择D选项。

10.C

11.D

12.D在Python中,return语句用来结束函数并将程序返回到函数被调用的位置继续执行。re-turn\n语句可以出现在函数中的任何部分,可以同时将0个、1\n个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return语句,此时函数并不返回值。return语句返回的是值而不是表达式,故程序无输出。本题选择D选项。

13.APython使用format()格式化方法,语法格式为<模板字符串>.format(\n<逗号分隔的参数>),其中模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用花括号({})表示,对应fcmnat()方法中逗号分隔的参数。如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应format()方法中的不同参数。参数根据出现先后存在一个默认序号。本题选择A选项。

14.D层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以3种数据库的划分原则是数据之间的联系方式。本题选择D选项。

15.CPython中循环包括两种:遍历循环和无限循环。遍历循环使用保留字for依次提取遍历结构元素进行处理;无限循环使用保留字while根据判断条件执行程序。\n循环结构有两个辅助循环控制保留字:break和continue。break用来跳出最内层for或while循环,脱离该循环后程序从循环后的代码继续执行。continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但跳不出当前循环。\npass:什么事也不做,只是空占位语句,是无运算的占位语句,当语法需要语句并且还没有任何使用的语句可写时,就可以使用它。它通常用于为复合语句编写一个空的主体。\n例如,如果想写个无限循环,每次迭代什么也不做,就写个pass。pass是有意义的,例如,忽略try语句所捕获的异常,以及定义带属性的空类对象,而该类实现的对象行为就像其他语言的结构和记录。\npass有时指的是“以后会填上”,只是暂时用于填充函数主体而已,无法保持函数体为空而不产生语法错误,因此,可以使用pass来替代。\n两者的区别是:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。

16.D

17.A

18.Crange([start,]stop[,step=1])函数有3个参数,用来生成一个从start参数的值开始到stop参数的值结束的数字序列,步长step默认为1,区间为左闭右开。而reversed()函数用于反向列表。本题选择C选项。

19.AB项是一个微型的面向文档的数据库,C项是Python的数字信号处理包,D项是Python的网络信息挖掘模块。

20.Afor…in遍历结构可以是字符串、文件、rangge()函数和组合数据类型。

21.C设叶子结点数为n,则该树的结点数为n+9+5=n+14,根据树中的结点数=树中所有结点的度之和+1,得9×3+0×2+5×1+n×0+1=n+14,则n=19。

22.C比较a与b是否不相等的运算符是!=;a+=b等同于a=a+b;a//=b等同于a=a//b。

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

24.APython中组合数据类型包括元组、列表、字典和集合等。

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

26.A

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

28.Alambda关键字用来定义匿名函数。格式为<函数名>=lambda<参数列表>:<表达式〉。本题中用来比较字符串大小,因为aa>bb,所以输出均为aa。本题选择A选项。

29.C字符串的索引从0开始,t[20:21]是指字符串中索引是20的元素I,t[:9]是从索引0?8元素,用“+\r\n”连接字符串,最后输出IlovetheWorld。本题选择C选项。

30.B变量s是元组类型,type()返回的是表达式的值的类型。本题选择B选项。

31.Y

32.N

33.Y

34.N

35.N

36.Y

37.N

38.Y

39.N

40.Y

41.[1,2,1,2]

42.False

43.//

44.1,2,3

45.[1,13,89,237,100]

46.True

47.NoneNone

48.FalseTrue

49.9

50.break

51.(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\nclassCamel(Horse):\r\n

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

super()_init_(category,gender,age)\r\nself.hump_size=2\r\n

defdescribe_hump_size(self):\r\n

fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)\r\ncamel=Camel(Doublehump","female","20")\r

温馨提示

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

评论

0/150

提交评论