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

付费下载

下载本文档

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

文档简介

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

一、单选题(30题)1.下面代码的输出结果是()。deffun(a,b):t=aa=bb=tprint(a,b)fun(pow(3,2),pow(2,3))

A.32B.23C.89D.98

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

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

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

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

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

3.下面代码的输出结果是()。try:print(8/9/(8//9))except:print("计算错误")

A.0B.1C.计算错误D.8

4.下面代码的输出结果是()。words=“helloPythonworld!Mf=lambdax:len(x)foriinwords,split():print(f(i),end=””)A.555B.566C.666D.ll1111

5.软件生命周期是指()。A.软件产品从提出、实现、使用维护到停止使用退役的过程

B.软件从需求分析、设计、实现到测试完成的过程

C.软件的开发过程

D.软件的运行维护过程

6.下列关于Python语言的描述正确的是()。

A.条件2<=3<=5是合法的,输出False。

B.条件2<=3<=5是不合法的。

C.条件2<=3<=5是合法的,输出True。

D.条件2<=3<=5是不合法的,会抛出异常。

7.下面代码的输出结果是()。defadd(x):ifx>0:returnx+add(x一1)else:return0result=add(10)print(result)

A.0B.10C.55D.45

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

A.dic={}

B.dic={l:5}

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

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

9.定义学生选修课程的关系模式如下:SC(S#,Sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分)则对主属性部分依赖的是()。

A.C#→CrB.(S#,C#)→GC.(S#,C#)→S#D.(S#,C#)→C#

10.以下关于函数优点的描述中,正确的是()。

A.函数可以表现程序的复杂度B.函数可以使程序更加模块化C.函数可以减少代码使用次数D.函数便于书写

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

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

12.执行以下代码的结果是?foo={1,5,2,3,4,2}foo={}len(foo)

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

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

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

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

A.PylnstallerB.PyserialC.PygameD.PIL

15.以下关于字符串类型的操作的描述,正确的是()。

A.想把一个字符串str所有的字符都大写,用upper(str)

B.设x=’nag’,则执行x/3的结果是’a’

C.想获取字符串str的长度,用字符串处理函数len(str)

D.str.isnumeric()方法把字符串str中数字字符变成数字

16.下面不属于Python的标准库的是()。

A.osB.sysC.SciPyD.glob

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

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

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

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

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

18.在银行业务中,实体客户和实体银行之间的联系是()。

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

19.在进行CSV文件读写时,最不可能使用的字符串处理方法是()。

A.strip()B.join()C.index()D.split()

20.下面代码的输出结果为()。foriinrange(8):ifi%2!=1:continueelse:print(i,end=",”)

A.0,B.l,C.l,3,5,7,D.0,2,4,6,

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

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

22.以下代码的输出结果是()。Test_list=list(range(6))Print(6inTest_list)

A.6B.6inTest_listC.TrueD.False

23.关于Python文件打开模式,表示错误的是()。

A.rtB.nbC.abD.wt

24.中学教师和授课班级之间的联系是()。

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

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

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

26.下面代码的输出结果是()。foriinrange(3):forjin”dream”:ifj=="e":continueprint(j,end="")

A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream

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

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

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

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

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

28.下列关于Python列表的描述错误的是()。

A.列表元素可以被修改B.列表元素没有长度限制C.列表元素的个数不限D.列表元素的数据类型必须一致

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

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

30.以下代码的输出结果是()。a=10.99print(complex(a))

A.0.99B.10.99i+jC.10.99D.(10.99+0j)

二、判断题(10题)31.同一个列表对象中的元素类型可以各不相同。

A.是B.否

32.运算符“-”可以用于集合的差集运算。

A.是B.否

33.集合可以作为字典的值。

A.是B.否

34.正则表达式元字符“s”用来匹配任意空白字符。

A.是B.否

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

A.是B.否

36.在GBK和CP936编码中一个汉字需要2个字节。A.是B.否

37.对于Python类中的私有成员,可以通过“对象名._类名__私有成员名”的方式来访问。

A.是B.否

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

A.是B.否

39.Python变量名区分大小写,所以student和Student不是同一个变量。

A.是B.否

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

A.是B.否

三、填空题(10题)41.已知列表x=[1,3,2],那么执行语句x=x.reverse()之后,x的值为____________。

42.假设re模块已导入,那么表达式re.findall('(\d)\\1+','33abcd112')的值为___________________。

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

44.列表、元组、字符串是Python的_________(有序?无序)序列。

45.表达式chr(ord('a')-32)的值为___________。

46.已知列表x=[1,2],执行语句y=x后,表达式id(x)==id(y)的值为_______。

47.表达式8**(1/3)的值为__________。

48.已知列表x=[1,2],那么连续执行命令y=x[:]和y.append(3)之后,x的值为________。

49.表达式abs(-3)的值为___________。

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

四、操作题(3题)51.考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:随机选择一个手机品牌屏幕输出。

试题程序:

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

#请在程序的______处使用一行代码替换#注意:请不要修改其他已给出代码

import________brandlist=[’三星’,’苹果’,’vivo’,’OPPO’,’魅族’]random.seed(0)

……

print(name)

52.考生文件夹下存在3个Python源文件,分别对应3个问题,请按照文件内说明修改代码,实现以下功能。法定节假日是根据各国、各民族的风俗习惯或纪念要求,由国家法律统一规定的用以庆祝及度假的休息时间。法定节假日制度是国家政治、经济、文化制度的重要反映,涉及经济社会的多个方面,涉及广大人民群众的切身利益。法定节假日的安排,为居民出行、购物和休闲提供了时间上的便利,为拉动内需、促进经济增长做出了积极贡献。给出一个某年的节假日的放假日期CSV文件(PY301-vacations.CSV),内容示例如下。序号节假日名称开始月日结束月日1元旦123001012春节021502213清明节040504074劳动节050105035端午节06160618以第1行为例,1230表示12月30日,0101表示1月1日。问题1:在“PY301-1.py”文件中修改代码,读入CSV文件中的数据,获得用户输入。根据用户输入的节假日名称,输出此节假日的时间范围。输入和输出本例格式如下。请输入节假日名称(例如,春节):春节春节的假期位于0215~0221之间试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准Is=[]print("{}的假期位于{}-{}之间”,.format())问题2:在“PY301-2.py”文件中修改代码,读入CSV文件的数据,获得用户输入。用户输入一组范围是1?7的整数作为序号,序号间采用空格符分隔,以回车符结束。输出这些序号对应的节假日的名称、时间范围,每个节假日的信息一行。本次输出完成后,重新回到输入序号的状态。输入和输出示例格式如下。请输入节假日序号:15元旦(1)假期是12月30日至01月01日之间端午节假期(5)是06月16日至06月18日之间请输入节假日序号:试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准...Is=[]print("{}({})假期是{}月{}日至{}月{}日之间".format())问题3:在问题2的基础上,在“PY301-3.Py”文件中修改代码,对输入的每个序号做合法性处理。如果输入的数字不不合法,请输出“输入节假日编号有误!”,继续输出后续信息,然后重新回到输入序号的状态。输入和输出示例格式如下。请输入节假日序号:51411端午节(5)假期是06月16日至06月18日之间输入节假日编号有误!输入节假日编号有误!请输入节假日编号:试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的处用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准Is=[]print("{}({})假期是{}月{}日至{}月{}日之间".format())ifflag==False:print("输入节假日编号有误!”)...

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.Cpow(3,2)的结果为9,pow(2,3)的结果为8,定义的函数fun()的作用为交换输入的a和b的值,因此结果为89。

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

3.Cx/y返回x和y的商,产生的结果为浮点数;x//y返回不大于x与y之商的最大整数。try-\nexcept是异常处理机制,当try中的代码报错时执行except后面的语句,不报错则继续执行同级语句。由于8//9\n=0,8/9/0产生了除以0的操作,因此会报错。本题选择C选项。

4.B该代码是一个匿名函数和split()方法的结合使用,split()方法把字符串words以空格分隔,返回的是列表类型。通过for循环把列表元素赋值给变量i,然后调用函数f()计算每个单词的长度,所以输出的是566。本题选择B选项。

5.A通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

6.CA选项中条件是合法的,输出True,只有不合法的条件才会输出False;B选项中条件是合法的;D选项中条件不合法输出False,而不是抛出异常。

7.C该函数是一个递归函数,用来计算1到10之间的所有数的和,使用函数时必须调用函数,即函数名(<参数>),也可以将函数对象实例化。结果为55,选C项。

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

9.A关系SC的主属性为(S#、C#),但C#→Cr属于非主属性对主属性的部分依赖。

10.B函数定义:函数是指一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可。函数能提高应用的模块性和代码的重复利用率。本题选择B选项。

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

12.A

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

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

15.CA项,将字符串str所有的字符都大写的方法是str.upper(),排除;B项,x为字符串类型,字符串类型不能执行除法,排除;isnumeric()方法用于检测字符串是否只由数字组成,如果字符串中只包括数字,就返回Ture,否则返回False,排除;c项,len()函数用于返回字符串的长度,要想获取字符串str的长度,其形式为len(str),故C项当选。

16.CSciPy是Python数据分析方向的第三方库。本题选择C选项。

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

18.D一个客户可以在多家银行办理业务,一家银行也有多个客户办理业务,因此,实体客户和实体银行之间的联系是多对多。本题选择D选项。

19.CCSV文件中以英文逗号分隔数据,形成一行。在进行CSV文件读写时,常用的字符串处理方法有strip()、join()、split()。strip()方法用于删除文件开头和结尾的给定字符序列,参数为空时,默认删除空白符(包括’\n’、’\r’、’\t’、'')。join()方法用于将数据以指定的字符(分隔符)连接成一个新的序列。split()方法用于将数据按某一个字符或字符串进行分割。index()方法用于检测字符串中是否包含指定子字符串,在进行CSV文件读写时,相较于前面三种方法,最不可能使用。

20.C该程序可输出8以内的奇数,continue只结束本次循环,不终止整个循环的执行。本题选择C选项。

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

22.DTest_list是列表类型,6inTest_list表示如果6是列表Test_list的元素,返回True,否则返回False。

23.BPython中open()函数提供了7种基本的文件打开模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+组合使用。故表示错误的是B项。

24.D一位教师可以对多个班级授课,一个班级也可以由多位教师授课,因此,教师和授课班级之间的联系是多对多联系。

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

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

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

28.D列表没有长度限制,元素类型可以不同,不需要预定义长度。列表可以进行元素的增加、删除、替换、查找等操作。

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

30.Da=10.99,说明实部为10.99,虚部为0,故complex(a)返回复数10.99+0j。本题选择D选项。

31.Y

32.Y

33.Y

34.Y

35.N

36.Y

37.Y

38.Y

39.Y

40.N

41.None

42.['3','1']

43.shuffle()

44.有序

45.'A'

46.True

47.2

48.[1,2]

49.3

50.'C'

51.importrandom\r\nbrandlist=[’三星’,’苹果’,’vivo’,’OPPO’,’魅族’]\r\nrandom.seed(0)\r\nname=brandlist[random.randint(0,4)]

print(name)题目要求随机输出列表中的一个手机名称,“随机”需要用到Python的标准库random,random.seed(0)的作用是设置初始化随机数种子,设置种子的好处就是可以重复再现相同的随机数序列。输出列表中的元素可以使用索引的方法,分析代码可知,列表中共有5个元素,所以元素的序号由0到4,需要用到random库的randint()方法。random.randint(a,b)的作用是产生一个[a,b]之间的随机整数。

52.Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“请输入节假日名称”)Forlineinis:Ifs==line[1]Print(“{}的假期位于{}-{}之间”.format(line[1],line[2],line[3]))(2)Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“请输入节假日序号”).split(“”)WhiletrueForiins:Forlineinis:Ifi==line[0]Print(“{}({})的假期位于{}月{}日之间”.format(line[1],line[0],line[2][0]+line[2][1],line[2][2]+line[2][3],line[3][0]+line[3][1],line[3][2]+line[3][3]))S=input(“请输入节假日序号:”).split(“”)(3)Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“请输入节假日序号”).split(“”)Whiles!=””:Foriins:Flag=falseForlineinis:Ifi==line[0]Print(“{}({})的假期位于{}月{}日之间”.format(line[1],line[0],line[2][0]+line[2][1],line[2][2]+line[2][3],line[3][0]+line[3][1],line[3][2]+line[3][3]))Flag=TureIfflag==falsePri

温馨提示

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

最新文档

评论

0/150

提交评论