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

下载本文档

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

文档简介

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

一、单选题(30题)1.以下程序的输出结果是()。ls=[’绿茶’,’乌龙茶’,’红茶’,’白茶’,’黑茶’]x=’乌龙茶’print(ls.index(x,0))

A.一3B.0C.1D.一4

2.定义学生的关系模式如下:S(S#,Sn,Sex,Age,D#,Da(其属性分别为学号、姓名、性别、年龄、所属学院、院长)该关系满足的最高范式是()。

A.1NFB.2NFC.3NFD.BCNF

3.以下关于分支结构的描述中,错误的是()。

A.if语句中语句块执行与否依赖于条件判断

B.if语句中条件部分可以使用任何能够产生True和False的语句和函数

C.二分支结构有一种紧凑形式,使用保留字if和else实现

D.多分支结构用于设置多个判断条件及其对应的多条执行路径

4.面向对象方法中,继承是指()。

A.—组对象所具有的相似性质B.—个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8.以下代码的输出结果是()。lis=list(range(4))print(lis)

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

9.—个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是()。

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

10.数据字典(DD)的作用是()。

A.定义流程图中各个成份的具体含义

B.定义数据流图中各个成份的具体含义

C.定义系统结构图中各个成份的具体含义

D.定义功能结构图中各个成份的具体含义

11.以下程序的输出结果是()。foriin“miss”: forjinrange(3): print(i,end=‘’) ifi==“i”: break

A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss

12.以下不属于Python机器学习第三方库的是()。

A.PylonsB.TensorFlowC.KerasD.MXNet

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

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

14.下列关于栈的叙述正确的是()。

A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据

15.给定列表ls=[1,2,3,“1”,“2”,“3”],其元素包含2种数据类型,列表ls的数据组织维度是()。

A.二维数据B.—维数据C.多维数据D.高维数据

16.程序流程图是()。

A.总体设计阶段使用的表达工具B.详细设计阶段使用的表达工具C.编码阶段使用的表达工具D.测试阶段使用的表达工具

17.当在命令行中以pythonmy.pyv1v2形式运行python脚本时,通过fromsysimportargv如何获得v2的参数值?

A.argv[0]B.argv[1]C.argv[2]D.argv[3]

18.以下不属于Python中异常处理结构的是()。

A.try-except

B.try-except-if

C.try-except-else

D.try-except-finally

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

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

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

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

21.对于以下代码的描述正确的是()。s=”Pythonisgood"1="isn’tit?"length=len(s)s_title=s.title()s_l=s+1s_number=s[1:6]print(length)

A.length为12

B.s_title为”PYTHONISGOOD”

C.s_l为”Pythonisgoodisn’tit?”

D.s_number为”Python”

22.以下代码的输出结果是()。forsin"grandfather":ifs==”d”ors==’h’:continueprint(s,end=")

A.grandfatherB.granfaterC.grandD.father

23.以下关于程序设计语言的描述,错误的选项是()。

A.Python解释器把Python代码一次性翻译成目标代码,然后执行

B.机器语言直接用二进制代码表达指令

C.Python是一种通用编程语言

D.汇编语言是直接操作计算机硬件的编程语言

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

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

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

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

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

25.执行以下代码的结果是?A.20B.24C.30D.33

26.Python中匿名函数的关键字是()。

A.lambdaB.globalC.withD.I)ass

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

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

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

B.['David']

C.['d']

D.'d'

29.软件设计中划分模块的一个准则是()。A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合

30.关于字典的描述,错误的是()。

A.字典的元素以键为索引进行访问

B.字典的一个键可以对应多个值

C.字典长度是可变的

D.字典是键值对的结合,键值对之间没有顺序

二、判断题(10题)31.使用del命令或者列表对象的remove()方法删除列表中元素时会影响列表中部分元素的索引。

A.是B.否

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

A.是B.否

33.调用函数时,在实参前面加一个型号*表示序列解包。

A.是B.否

34.OpenGL采用的“状态机”工作方式,一旦设置了某种状态以后,除非显式修改该状态,否则该状态将一直保持。

A.是B.否

35.一般来说,Python扩展库没有通用于所有版本Python的,安装时应选择与已安装Python的版本对应的扩展库。

A.是B.否

36.元组的访问速度比列表要快一些,如果定义了一系列常量值,并且主要用途仅仅是对其进行遍历二不需要进行任何修改,建议使用元组而不使用列表。

A.是B.否

37.已知列表x=[1,2,3],那么执行语句x=3之后,变量x的地址不变。

A.是B.否

38.放在一对三引号之间的任何内容将被认为是注释。

A.是B.否

39.运算符/在Python2.x和Python3.x中具有相同的功能。

A.是B.否

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

A.是B.否

三、填空题(10题)41.Python内置函数____________用来返回序列中的最大元素。

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

43.表达式'abc10'.isalnum()的值为______________。

44.表达式abs(3+4j)的值为____________。

45.查看变量类型的Python内置函数是________________。

46.已知x=(3),那么表达式x*3的值为__________。

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

48.以3为实部4为虚部,Python复数的表达形式为___________或________。

49.已知x=[3,5,3,7],那么表达式[x.index(i)foriinxifi==3]的值为______________。

50.表达式65>>1的值为_____________。

四、操作题(3题)51.考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。使用Python的异常处理结构编写对数计算,要求底数大于0且不等于1,真数大于0,且输入的必须为实数,否则拋出对应的异常。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准try:a=eval(input(‘请输入底数:’))b=eval(input(‘请输入真数:’))c=_____exceptValueError:…exceptZeroDivisionError:print(‘底数不能为1’)exceptNameError:Prints(‘输入必须为实数’)else:print(C)

52.某班学生评选一等奖学金,学生的10门主干课成绩存在考生文件夹下文件score.txt中,每行为一个学生的信息,分别记录了学生学号、姓名以及10门课成绩,格式如下:

1820161043

郑珉镐68668377567361696678

1820161044

沈红伟91708l919680789l8994

从这些学生中选出奖学金候选人,条件是:①总成绩排名在前10名;②全部课程及格(成绩大于等于60)。

问题1:给出按总成绩从高到低排序的前10名学生名单,并写入文件candidate0.txt,每行记录一个学生的信息,分别为学生学号、姓名以及10门课成绩。补充考生文件夹下文件PY301一1.py,完成这一功能。试题程序:

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

##注意:其他已给出代码仅作为提示,可以修改L=[]

#L中的元素是学生原始成绩和总成绩

…#此处可多行

L.sort(key=lambdax:x[一1],reverse=True)拌按学生总成绩从大到小排序

…#此处可多行

问题2:读取文件candidate0.txt,从中选出候选人,并将学号和姓名写入文件candidate.txt,格式如下:

1010112161722

张三

1010112161728

李四

补充考生文件夹下文件PY301—2.py,完成这一功能。

试题程序:'''输入文件:candidate0.txt输出文件:candidate.txt'''

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

参考答案

1.C列表的index()方法用于从列表中找出某个对象第一个匹配项的索引位置,如果这个对象不在列表中会报一个异常。其语法为:list.index(obj[,start=0[,stop=len(L)]]),其中obj为必须参数,指要查找的对象;start为可选参数,指从哪个索引位置开始查找,默认为0;stop为可选参数,指查找到哪个索引位置结束,默认为列表的长度。本题中,查找对象为’乌龙茶’,从索引位置为0处开始查找,查找到第二个元素匹配,故返回其索引位置1。

2.B关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同的范式。满足最低要求的叫第一范式,简称1NF。在满足第一范式的基础上,进一步满足更多要求的则是第二范式。在满足第二范式的基础上,还可以再满足第三范式,以此类推。对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式。若某个关系R为第一范式,并且R中每一个非主属性完全依赖于R的某个候选键,则称其为第二范式。第二范式消除了非主属性对主键的部分依赖。如果关系R是第二范式,并且每个非主属性都不传递依赖于R的候选键,则称R为第三范式。(传递依赖:在关系模式中,如果Y→X,X→A,且X不决定Y、A不属于X,那么Y→A是传递依赖。)本题中,关系S满足第一范式和第二范式,但是S#→D#,D#→Da,存在传递依赖,因此不满足第三范式。该关系满足的最高范式是2NF。本题选择B选项。

3.CPython的单分支结构使用if关键字对条件进行判断,语法格式如下:if〈条件>:<语句块>Python的二分支结构使用if-else关键字对条件进行判断,语法格式如下:if<条件>:<语句块1>else:〈语句块2>Python的多分支结构使用if-elif-else关键字对多个相关条件进行判断,并根据不同条件的结果按照顺序选择执行路径,语法格式如下:if<条件1>:〈语句块1>elif<条件2>:<语句块2>else:〈语句块3>本题选择C选项。

4.D继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。本题选择D选项。

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

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

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

8.B用中括号([])表示列表类型,也可以通过list(x)函数将集合或字符串类型转换成列表类型。此代码生成列表lis=[0,1,2,3],最后通过print()函数输出。本题选B选项。

9.C因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。本题选择C选项。

10.B数据字典(DataDictionary,DD)是对数据流图中所有元素的精确、严格的定义和解释,是一个有组织的列表,使得用户和系统分析员对于输入、输出、存储成分和中间计件结果有共同的理解,是结构化分析的核心。

11.B外层for循环依次将字符串“mlss”中的字符赋给变量i,内层for控制循环3次,注意是先执行print再判断if条件,输出第一个i后,碰到if判断条件,当i==“i”时退出内层循环,所以结果为mmmlssssss。本题选择B选项。

12.APylons是基于Python的一个Web开发框架的第三方库,Keras、TenSorFlow和MXNet是Python机器学习领域的第三方库。本题选择A选项。

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

14.B栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。

15.B二维数据由多个一维数据构成,可以看作一维数据的组合形式。本题中该列表虽然包含两种数据类型,但仍然是一维数据。本题选择B选项。

16.B详细设计阶段常见的工具有程序流程图、N—S图、PAD图、HIPO图、判定表等。本题选B选项。

17.C

18.BPython中异常处理结构有try-except、try-except-else及\ntry-except-flnally。本题选择B选项。

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

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

21.Clen()方法用来获取字符串的长度,所以length应为14;title()方法把字符串每个单词的首字母变为大写,所以应为Python\nIsGood;索引从0开始,所以s[1:6]应为ython。本题选择C选项。

22.Bfor循环将字符串grandfather中的字符依次赋给变量s,当s==”d”或s=='\nh”时,结束本次循环,不执行print(s,end=”);反之,则执行print(s,end\n=')。故输出结果为granfater。本题选择B选项。

23.Apython语言属于脚本语言,脚本语言采用解释方式执行。解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程,不是一次性翻译的。

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

25.D

26.AB项是定义全局变量的关键字,C项是with…as用来代替传统的try…finally语法,D项的意思是程序什么都不做。

27.C

28.D

29.B一般较优秀的软件设计,应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

30.B在Python中,字典是存储可变数量键值对的数据结构,通过字典类型实现映射,一个键对应一个值,键必须是唯一的,且必须是不可变数据类型,值可以是任何数据类型。字典具有和集合类似的性质,即键值对之间没有顺序且不能重复。字典可以通过”字典[’键’]”的形式访问对应的元素,即以键为索引进行访问。故描述错误的是B项。

31.Y

32.Y

33.Y

34.Y

35.Y

36.Y

37.N

38.N

39.N

40.N

41.max()

42.True

43.True

44.5.0

45.type()

46.9

47.True

48.3+4j、3+4J

49.[0,0]

50.32

51.?Importmathtry:a=eval(input('请输入底数:”))b=eval(input(‘请输入真数:’))c=math.log(b,a)exceptValueError:ifa<=0andb>0:Print(‘真数和底数都不能小于等于0’)exceptZeroDivisionError:print(’底数不能为1’)exceptNameError:print(输入必须为实数’)else:print(c)ax=/V(a>0,a≠1),那么指数x叫作以a为底N的对数,记作x\r\n=logaN其中a叫作对数的底数,叫作真数。要使用对数,需先导入math库,math.log(x[,base])返回x的自然对数,x>0。使用异常处理机制时,根据不同的错误类型,输出不同的信息内容,在值错误类型下,使用if判断语句将有可能错误的信息进行处理。

52.(1)L=[]\r\n

fo=open("score.txt","r")\r\n

fi=open("candidate0.txt","w")\r\n

lines=fo.readlines()\r\n

forlineinlines:\r\n

line=line.strip()\r\n

student=line.split('')\r\n

sum=0\r\n

foriinrange(1,11):\r\n

sum+=int(student[-i])\r\n

studene.append(str(sum))\r\n

L.append(student):\r\n

L.sort(key=lambda.x:x[一1],reverse=True)\r\nforiinrange(10):\r\nfi.write('',join(L[i][:-1])+'\\n')\r\nfo.close()\r\nfi.close()(2)'''\r\n输入文件:candidate0.txt\r\n输出文件:candidate.txt\r\n'''\r\nfo=open("candidate0.txt","r")\r\nfi=open("candlidate.txt","w")\r\nL=[]#存储候选人\r\nlines=fo.readlines()\r\nforlineinlines:\r\n

line=line.strip()\r\n

student=line.split('')\r\n

foriinstudent[-10:]:\r\n

ifint(i)<60:\r\n

break\r\n

else:\r\n

I:append(student[:2])\r\nforiinL:\r\n

fi.write(''.join(i)+'\\n')\r\nfo.close()\r\nfi.close()(1)本题涉及”score.txt”和”candidate0.txt”两个文件。首先要读取”score.txt”文件中的信息,通过程序求出每个学生的总成绩,然后按总成绩从大到小排序,将总成绩排名前10的学生的学号、姓名以及10门课成绩写入到”candidate0.txt”文件中。打开文件用open()函数,用”r”只读模式打开文件”score.txt”,用”w”模式创建文件”cand:idate0.txt”。\r\n

”score.txt”文件中每行为一个学生的信息,需要用readlines()函数读入所有行,以每行为元素形成列表lines,然后用for循环遍历该列表中的每个元素。在遍历每个元素时,用strip()方法删除元素首尾出现的空格,用split()方法以空格分隔学生的学号、姓名以及10门课成绩得到列表student。由于要求出总成绩,因此要使用for遍历每个学生的10门课成绩,将其累加赋值给sum,并将sum追加到student中。最后将student中所有元素追加到列表L中。\r\n

随后,对列表L中的元素进行排序,用到sort()方法,参数”key=lambd

温馨提示

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

评论

0/150

提交评论