国家二级(Python)机试模拟试卷1(共380题)_第1页
国家二级(Python)机试模拟试卷1(共380题)_第2页
国家二级(Python)机试模拟试卷1(共380题)_第3页
国家二级(Python)机试模拟试卷1(共380题)_第4页
国家二级(Python)机试模拟试卷1(共380题)_第5页
已阅读5页,还剩110页未读 继续免费阅读

下载本文档

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

文档简介

国家二级(Python)机试模拟试卷1(共9套)(共380题)国家二级(Python)机试模拟试卷第1套一、单项选择题(本题共35题,每题1.0分,共35分。)1、以下选项中,不属于需求分析阶段的任务是A、制定软件集成测试计划B、需求规格说明书评审C、确定软件系统的性能需求D、确定软件系统的功能需求标准答案:A知识点解析:需求分析阶段需要对待开发软件提出的需求进行分析并给出详细定义,完成需求规格说明书。软件集成测试计划的制订是软件测试阶段需要完成的任务。2、关于数据流图(DFD)的描述,以下选项中正确的是A、软件概要设计的工具B、软件详细设计的工具C、结构化方法的需求分析工具D、面向对象需求分析工具标准答案:C知识点解析:数据流图(DFD)是结构化分析的常用工具,是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,直接支持系统的功能建模。3、在黑盒测试方法中,设计测试用例的主要根据是A、程序外部功能B、程序流程图C、程序数据结构D、程序内部逻辑标准答案:A知识点解析:黑盒测试也称为功能测试或数据驱动测试。黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。4、一个教师讲授多门课程,一门课程由多个教师讲授。描述了实体教师和课程的联系的选项是A、1:1联系B、m:n联系C、m:1联系D、1:n联系标准答案:B知识点解析:现实世界中事物间的关联称为联系。在概念世界中,联系主要反映了实体集间的一定关系。实体集间的联系可以是单个,也可以是多个。一位教师可以教授多个学生,而一个学生又可以受教于多个教师,教师与学生的联系是m:n。5、数据库设计中,反映用户对数据要求的模式是A、概念模式B、内模式C、设计模式D、外模式标准答案:D知识点解析:外模式,也称为子模式或用户模式,是用户的数据视图,也是用户所想见到的数据模式,由概念模式推导出来,反映了用户对数据要求的模式。以外模式为框架所组成的数据库叫用户数据库。6、在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示的阶段是A、需求分析阶段B、概念设计阶段C、逻辑设计阶段D、物理设计阶段标准答案:B知识点解析:数据库设计包含概念设计和逻辑设计两个方面的内容。在概念设计阶段,用E—R图来描述信息结构但不涉及信息在计算机中的表示。7、以下选项中描述正确的是A、有一个以上根结点的数据结构不一定是非线性结构B、只有一个根结点的数据结构不一定是线性结构C、循环链表是非线性结构D、双向链表是非线性结构标准答案:B知识点解析:根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为线性结构和非线性结构。线性结构满足两个条件:①有且只有一个根结点;②每个结点最多有一个前件,也最多有一个后件。如果一个数据结构不是线性结构,则称之为非线性结构。有一个以上根结点的数据结构是非线性结构。只有一个根结点的数据结构不一定是线性结构。循环链表和双向链表都是线性结构。8、一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数是A、4B、6C、16D、10标准答案:C知识点解析:二叉树的基本性质:在任意一棵二叉树中,度为0的结点(叶子结点)总是比度为2的结点多一个。本题中度为2的结点即为4个。二叉树只包含度为0的结点、度为1的结点和度为2的结点。度为1的结点个数等于总结点数减去度为0和2的结点数。25—5—4=16。9、下图所示的二叉树进行前序遍历的序列是A、DYBEAFCZXB、YDEBFZXCAC、ABDYECFXZD、ABCDEFXYZ标准答案:C知识点解析:二叉树的前序遍历是指在访问根结点、遍历左子树、遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。前序遍历二叉树是一个递归的过程。10、以下选项中描述正确的是A、数据的逻辑结构与存储结构是一一对应的B、算法的时间复杂度与空间复杂度一定相关C、算法的时间复杂度是指执行算法所需要的计算工作量D、算法的效率只与问题的规模有关,而与数据的存储结构无关标准答案:B知识点解析:数据的逻辑结构反映数据之间的逻辑关系,数据元素在计算机存储空间中的位置关系可能与逻辑关系不同。算法的时间复杂度指执行算法所需要的计算工作量。算法的空间复杂度指执行这个算法所需要的内存空间。算法在时间的高效性和空间的高效性之间通常是矛盾的,一般会取一个平衡点。11、Python文件的后缀名是A、pyB、pdfC、pngD、ppt标准答案:A知识点解析:Python文件的后缀名为py。12、关于Python循环结构,以下选项中描述错误的是A、Python通过for、while等保留字构建循环结构B、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等C、break用来结束当前当次语句,但不跳出当前的循环体D、continue只结束本次循环标准答案:C知识点解析:continue用来结束当前当次语句,但不跳出当前的循环体。13、给出如下代码:importrandomnum=random.randint(1,10)whileTrue:ifsum>=9:breakelse:nnm=random.randint(1,10)以下选项中描述错误的是A、random.randint(1,10)生成[1,10]之间的整数B、这段代码的功能是程序自动猜数字C、importrandom代码是可以省略的D、whileTrue:创建了一个永远执行的循环标准答案:C知识点解析:importrandom代码不可以省略的。random是Python内置的随机运算标准函数库。14、关于time库的描述,以下选项中错误的是A、time库是Python中处理时间的标准库B、time库提供获取系统时间并格式化输出功能C、time.sleep(S)的作用是休眠S秒D、time.perf_counter()返回一个固定的时间计数值标准答案:D知识点解析:time.perf_counter()返回一个CPU级别的精确时间计数值,单位为秒。由于这个计数值起点不确定,连续调用差值才有意义。15、对于列表ls的操作,以下选项中描述错误的是A、ls.append(x):在ls最后增加一个元素B、ls.clear():删除ls的最后一个元素C、ls.copy():生成一个新列表,复制ls的所有元素D、ls.reverse():列表ls的所有元素反转标准答案:B知识点解析:ls.clear()函数删除列表ls中的所有元素。16、下面代码的输出结果是listV=list(range(5))print(2inlistV)A、TrueB、FalseC、0D、一1标准答案:A知识点解析:list()和range()是Python的内置函数,list()可用于生成列表,range(5)可用于产生数字序列0、1、2、3、4。17、给出如下代码:importrandomasranlistV=[]ran.seed(100)foriinrange(10):i=ran.randint(100,999)listV.append(i)以下选项中能输出随机列表元素最大值的是A、print(listV.reverse(i))B、print(listV.max())C、print(listV.pop(i))D、print(max(listV))标准答案:D知识点解析:max()是Python的内置函数,用于输出列表元素的最大值。18、给出如下代码:MonthandFlower={’’1月’’:’’梅花’’,’’2月’’:’’杏花’’,’’3月’’:’’桃花’’,’’4月’’:’’牡丹花’’,\’’5月’’:’’石榴花’’,’’6月’’:’’莲花’’,’’7月’’:’’玉簪花’’,’’8月’’:’’桂花’’,’’9月’’:’’菊花’’,\’’10月’’:’’芙蓉花’’,’’11月’’:’’山茶花’’,’’12月’’:’’水仙花’’}n=input(’’请输入1一12的月份:’’)print(n+’’月份之代表花:’’+MonthandFlower.get(str(n)+’’月’’))以下选项中描述正确的是A、MonthandFlower是集合类型变量B、代码实现了获取一个整数(1—12)来表示月份,输出该月份对应的代表花名C、MonthandFlower是列表类型变量D、MonthandFlower是一个元组标准答案:B知识点解析:Month&Flower是字典类型变量。字典是集合类型的延续,各个元素并没有顺序之分。字典是存储可变数量键值对的数据结构,键和值可以是任意数据类型。字典的主要用法是通过索引符号来实现查找与特定键相对应的值。如果想保持一个集合中元素的顺序,需要使用列表,而不是元组。19、关于Python文件打开模式的描述,以下选项中错误的是A、只读模式rB、覆盖写模式wC、追加写模式aD、创建写模式n标准答案:D知识点解析:Python文件打开模式的创建写模式为’x’。20、执行如下代码:fname=input(’’请输入要写入的文件:’’)fo=open(fname,’’w+’’)ls=[’’清明时节雨纷纷,’’,’’路上行人欲断魂,’’,’’借问酒家何处有?’’,\’’牧童遥指杏花村。’’]fo.writelines(ls)fo.seek(0)forlineinfo:print(line)fo.close()以下选项中描述错误的是A、执行代码时,从键盘输入“清明.txt”,则清明.txt被创建B、fo.writelines(ls)将元素全为字符串的ls列表写入文件C、fo.seek(0)这行代码如果省略,也能打印输出文件内容D、代码主要功能为向文件写入一个列表类型,并打印输出结果标准答案:C知识点解析:fo.seek(0)这行代码如果省略,将不能打印输出文件内容。21、关于CSV文件的描述,以下选项中错误的是A、CSV文件格式是一种通用的文件格式,应用于程序之间转移表格数据B、CSV文件的每一行是一维数据,可以使用Python中的列表类型表示C、CSV文件通过多种编码表示字符D、整个CSV文件是一个二维数据标准答案:C知识点解析:CSV文件采用纯文本格式,通过单一编码表示字符。以行为单位,开头不留空行,行之间没有空行。每行表示一个一维数据,多行表示多维数据。以逗号分隔每列数据,列数据为空也要保留逗号。22、以下选项中,修改turtle画笔颜色的函数是A、pencolor()B、seth()C、colormode()D、bk()标准答案:A知识点解析:pencolor(color)函数给画笔设置颜色。23、以下选项中,Python网络爬虫方向的第三方库是A、scrapyB、numpyC、openpyxlD、PyQt5标准答案:A知识点解析:numpy是数据分析方向的第三方库,openpyxl是文本处理方向的第三方库,PyQt5是用户图形界面方向的第三方库。24、以下选项中,Python数据分析方向的第三方库是A、flaskB、PILC、DjangoD、pandas标准答案:D知识点解析:flask和Django是Web开发的第三方库,PIL是图像处理方面的第三方库。25、以下选项中,Python机器学习方向的第三方库是A、requestsB、TensorFlowC、scipyD、PyQt5标准答案:B知识点解析:TensorFlow是Python机器学习方向的第三方库。26、给出如下代码:TempStr=’’HelloWorld’’以下选项中可以输出“World”子串的是A、print(TempStr[一5:])B、print(TempStr[一5:一1])C、print(TempStr[一5:0])D、print(TempStr[一4:一1])标准答案:A知识点解析:参考字符串切片操作。27、下面代码的输出结果是x=12.34print(type(x))A、<class’complex’>B、<class’int’>C、<class’float’>D、<class’bool’>标准答案:C知识点解析:type(x)函数可以获得x的类型。28、下面代码的输出结果是x=10y=3print(x%y,x**y)A、11000B、31000C、130D、330标准答案:A知识点解析:参考Python内置的数值运算操作符。29、执行如下代码:importturtleastforiinrange(1,5):t.fd(50)t.left(90)在PythonTurtleGraphics中,绘制的是A、正方形B、五边形C、三角形D、五角星标准答案:A知识点解析:参考turtle库函数。30、设一年365天,第1天的能力值为基数记为1.0。当好好学习时能力值相比前一天会提高千分之五。以下选项中,不能获得持续努力1年后的能力值的是A、pow(1.0+0.005,365)B、1.005**365C、pow((1.0+0.005),365)D、1.005//365标准答案:D知识点解析:参考pow()函数和**数值运算操作符。31、给出如下代码:s=list(’’巴老爷有八十八棵芭蕉树,来了八十八个把式要在巴老爷八十八棵芭蕉树下\住。老爷拔了八十八棵芭蕉树,不让八十八个把式在八十八棵芭蕉树下住。八十八\个把式烧了八十八棵芭蕉树,巴老爷在八十八棵树边哭。’’)以下选项中能输出字符“八”出现次数的是A、print(s.count(’’八’’))B、print(s.index(’’八’’))C、print(s.index(’’八’’),6)D、print(s.index(’’八’’),6,len(s))标准答案:A知识点解析:s.count(x)函数可以获得s中出现x的总次数。32、下面代码的输出结果是vlist=list(range(5))print(vlist)A、[0,1,2,3,4]B、01234C、0,1,2,3,4,D、0;1;2;3;4;标准答案:A知识点解析:暂无解析33、以下选项中,不是建立字典的方式是A、d={1:[1,2],3:[3,4]}B、d={[1,2]:1,[3,4]:3}C、d={(1,2):1,(3,4):3}D、d={’张三’:1,’李四’:2}标准答案:B知识点解析:{[1,2]:1,[3,4]:3}不能建立字典,字典要求键值对中的键是不可改变变量类型。34、如果name=’’全国计算机等级考试二级Python’’,以下选项中输出错误的是A、>>>print(name[0],name[8],name[-1])全试B、>>>print(name[:])全国计算机等级考试二级PythonC、>>>print(name[11:])PythonD、>>>print(name[:11])全国计算机等级考试二级标准答案:A知识点解析:参考字符串索引与切片操作。35、下列程序的运行结果是>>>s=’PYTHON’>>>“{0:3}”.format(s)A、’PYT’B、’PYTH’C、’PYTHON’D、’PYTHON’标准答案:C知识点解析:参考字符串格式化输出方法。二、基本编程题(本题共3题,每题1.0分,共3分。)36、仅使用Python基本语法,即不使用任何模块,编写Python程序计算下列数学表达式的结果并输出,小数点后保留3位。x=标准答案:x=pow((3**4+5*(6**7))/8,0.5)print(’’{:.3f}’’.format(x))知识点解析:这是一个基本编程题,使用Python程序对数学公式进行计算。该题目有2个要求:仅使用Python基本语法和小数点后保留3位。该数学公式计算包含求平方根,有两种方法完成:第一,使用Python内置函数pow(),数字N的平方根是pow(N,0.5);第二,使用操作符**,数字N的平方根是N**0.5。小数点后保留3位,有两种方法可以完成:第一,使用字符串格式化方法输出3位小数,数字N的3位小数输出采用’’{:.3f}’’.format(N);第二,使用Python内置函数round(),数字N保留3位小数方法是round(N,3)。下面给出3个参考程序:x=pow((3**4+5*(6**7))/8,0.5)print(’’{:.3f}’’.format(x))x=((3**4+5*(6**7))/8)**0.5print(’’{:.3f}’’.format(x))x=pow((3**4+5*(6**7))/8,0.5)print(round(x,3))37、以中国共产党第十九次全国代表大会报告中一句话作为字符串变量s,完善Python程序,分别用Python内置函数及jieba库中已有函数计算字符串s的中文字符个数及中文词语个数。注意,中文字符包含中文标点符号.importjiebas=’’中国特色社会主义进入新时代,我国社会主要矛盾已经转化为人民日益增长的美\好生活需要和不平衡不充分的发展之间的矛盾。’’n=①m=②print(’’中文字符数为{},中文词语数为{}。’’.format(n,m))标准答案:n=len(s)m=len(jieba.lcut(s))知识点解析:这是一个基本编程题,对中文字符及中文词语进行统计。该题目使用了jieba中文分词库,有2个要求:统计中文字符及中文词语。给定字符串s中仅包含中文字符及中文标点符号,因此,可以直接使用len()函数计算字符数量。jieba库提供了3种分词模式:精确模式、全模式和搜索引擎模式。其中,精确模式分词的词语拼接后没有冗余,最为常用。精确模式对字符串s的分词操作为jieba.lcut(s),该函数返回一个列表类型,每个元素是一个中文词语。使用len()可以获得该列表长度,即中文词语数量。结合上述分析,该题目的参考代码如下:importjiebas=’’中国特色社会主义进入新时代,我国社会主要矛盾已经转化为人民日益增长的美\好生活需要和不平衡不充分的发展之间的矛盾。’’n=len(s)m=len(jieba.lcut(s))print(’’中文字符数为{},中文词语数为{}。’’.format(n,m))38、0x4DC0是一个十六进制数,它对应的Unicode编码是中国古老的《易经》六十四卦的第一卦,请输出第51卦(震卦)对应的Unicode编码的二进制、十进制、八进制和十六进制格式。print(’’二进制{①}、十进制{②}、八进制{③}、\十六进制{④}’’.format(⑤))标准答案:print(’’二进制{0:b}、十进制{0}、八进制{0:o}、十六进制{0:x}’’.format(0x4DC0+50))知识点解析:这是一个基本编程题,考核字符串格式化方法,重点考核整数的4种进制输出。字符串格式化方法中<类型>字段控制各种整数的进制输出效果。该题目还需要注意,由于.format()方法只有一个参数,在模板字符串中有4个槽{},槽的数量和参数数量不一致,在槽中必须指定参数序号。由于该题目中.format()方法只有一个参数,序号为0,在每个槽中要用序号0指定这个参数。该题目参考答案如下。print(’’二进制{0.b}、十进制{0}、八进制{0:o}、十六进制{0:x}’’.format(0x4DC0+50))三、简单应用题(本题共2题,每题1.0分,共2分。)39、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个等边三角形,边长为200像素,效果如下图所示。请结合程序整体框架,补充横线处代码。importturtleas①foriinrange(②):t.seth(③)t.fd(200)标准答案:importturtleastforiinrange(3):t.seth(i*120)t.fd(200)知识点解析:这是一个简单应用题,考核“海龟绘图体系”,绘制简单的等边三角形。给定部分代码采用了import…as…形式,这是引入turtle库并赋予别名的方式,结合后续代码,首行应填写别名t。由于题目要求使用seth()函数,因此,需要在绘制每条边时计算绝对绘制方位,可以利用循环变量i计算三个边的绝对角度。参考代码如下:importturtleastforiinrange(3):t.seth(i*120)t.fd(200)40、编写代码完成如下功能:(1)建立字典d,包含内容是:’’数学’’:101,’’语文’’:202,’’英语’’:203,’’物理’’:204,’’生物’’:206。(2)向字典中添加键值对’’化学’’:205。(3)修改’’数学’’对应的值为201。(4)删除’’生物’’对应的键值对。(5)打印字典d全部信息,参考格式如下(注意,其中逗号为英文逗号,逐行打印):201:数学202:语文(略)标准答案:(1)d={’’数学’’:101,’’语文’’:202,’’英语’’:203,’’物理”:204,’’生物’’:206}(2)d[’’化学’’]=205(3)d[’’数学’’]=201(4)deld[’’生物’’](5)forkeyind:print(’’{}:{}’’.format(d[key],key))知识点解析:这是一个简单应用题,用来操作字典类型。(1)建立字典采用{}。d={’’数学’’:101,’’语文’’:202,’’英语’’:203,’’物理’’:204,’’生物’’:206}(2)可以使用字典索引[]方式直接增加新的“键值对”。d[’’化学’’]=205(3)可以使用字典索引[]方式直接修改“键值对”信息。d[’’数学’’]=201(4)使用del及字典索引[]方式删除“键值对”信息。deld[’’生物’’](5)遍历字典时需要注意,循环变量并不是“键值对”,而只是键,可以通过循环变量索引字典中键和值的信息。forkeyind:print(’’{}:{}’’.format(d[key],key))四、综合应用题(本题共1题,每题1.0分,共1分。)41、《天龙八部》是著名作家金庸的代表作之一,历时4年创作完成。该作品气势磅礴,人物众多。这里给出一个《天龙八部》的网络版本,文件名为“天龙八部一网络版.txt”。问题1:请编写程序,对这个《天龙八部》文本中出现的汉字和标点符号进行统计,字符与出现次数之间用冒号:分隔,输出保存到“天龙八部一汉字统计.txt”文件中,该文件要求采用CSV格式存储,参考格式如下(注意,不统计空格和回车字符);天:100,龙:110,八:109,部:10(略)问题2:请编写程序,对《天龙八部》文本中出现的中文词语进行统计,采用jieba库分词,词语与出现次数之间用冒号:分隔,输出保存到“天龙八部一词语统计.txt”文件中。参考格式如下(注意,不统计任何标点符号):天龙:100,八部:10(略)标准答案:问题1答案如下:fi=open(’’天龙八部一网络版.txt’’,’’r’’,encoding=’uff-8’)fo=open(’’天龙八部一汉字统计.txt’’,’’w’’,encoding=’uff-8’)txt=fi.read()d={}forcintxt:d[c]=d.get(c,0)+1deld[’’]deld[’\n’]ls=[]forkeyind:ls.append(’’{}:{}’’.format(key,d[key]))fo.write(’’,’’.join(ls))fi.close()foclose()问题2答案如下:importjiebafi=open(’’天龙八部一网络版.txt’’,’’r’’,encoding=’uff-8’)fo=open(’’天龙八部一词语统计.txt’’,’’w’’,encoding=’utf-8’)txt=fi.read()words=jieba.lcut(txt)d={}forwinwords:d[w]=d.get(w,0)+1deld[’’]deld[’\n’]ls=[]forkeyind:ls.append(’’{}:{}}’’.format(key,d[key]))fo.write(’’,’’.join(ls))fi.close()fo.close()知识点解析:这是一个综合应用题,考核对文本文件中字符和单词的统计能力。问题1:统计网络下载的“天龙八部一网络版.txt”中各字符出现次数,采用“字符:次数”方式表示,以CSV方式存储至“天龙八部一汉字统计.txt”。读写文件分别采用open()函数的’’r’’和’’w’’模式。在读入文件时,可以增加参数encoding=’’uff-8’’,指定程序采用utf-8编码打开文件。文件编码过于复杂,在等级考试中并未涉及,这里,建议对编码的理解使用如下两条规则:第一,如果一个文本文件从网络获得,增加encoding参数,指定编码方式打开;第二,如果Python程序生成了一个文件,并再次打开,则不需要指定encoding参数。打开文件后,可以一次性读人文件内容至变量txt中,采用遍历循环逐一遍历txt中每个字符,并利用字典将每个字符的出现次数计入“字符:次数”键值对表示中,采用代码如下:d={}forcintxt:d[c]=d.get(c,0)+1所有字符统计后,去掉空格(’’)和回车(’\n’)对应统计次数,采用del删除字典d中对应项。再遍历字典d,将其写入列表ls,列表每项为“字符:次数”样式字符串。最后,使用字符串.join()方法,将列表ls中所有项以逗号分隔形式整合并写入输出文件。综上,问题1的全部代码含注释如下:fi=open(’’天龙八部一网络版.txt’’,’’r’’,encoding=’utf一8’)fo=open(’’天龙八部一汉字统计.txt’’,’’w’’,encoding=’uff一8’)txt=fi.read()d={}forcintxt:#遍历循环,统计各出现字符及次数d[c]=d.get(c,0)+1deld[’’]#删除空格字符对应的出现次数deld[’\n’]#删除回车字符对应的出现次数ls=[]forkeyind:#遍历字典,将字典各项组织后变成列表的元素Is.append(’’{}:{}’’.format(key,d[key]))fo.write(’’,’’.join(ls))fi.close()fo.close()问题2与问题1类似,只不过统计单元由字符变为中文词语,这需要采用jieba库进行分词。整体代码与问题1类似,仅在获取文本txt后进行一次jieba.lcut()分词操作即可。综上,问题2的全部代码含注释如下:importjiebafi=open(’’天龙八部一网络版.txt’’,’’r’’,encoding=’utf-8’)fo=open(”天龙八部-词语统计.txt’’,’’w’’,encoding=’utf-8’)txt=fi.read()words=jieba.lcut(txt)#中文分词,words是一个列表变量d={}forwinwords:#遍历列表各元素,即遍历中文词语d[w]=d.get(w,0)+1deld[’’]deld[’\n’]ls=[]forkeyind:ls.append(’’{}:{}’’.format(key,d[key]))fowrite(’’,’’.join(ls))fi.close()fo.close()国家二级(Python)机试模拟试卷第2套一、单项选择题(本题共37题,每题1.0分,共37分。)1、下列叙述中正确的是()。A、循环队列是队列的一种链式存储结构B、循环队列是队列的一种顺序存储结构C、循环队列中的队尾指针一定大于队头指针D、循环队列中的队尾指针一定小于队头指针标准答案:B知识点解析:在实际应用中,队列的顺序存储结构一般采用循环队列的形式。当循环队列满或者为空时:队尾指针=队头指针。本题选择B选项。2、关于import引用,以下选项中描述错误的是A、import保留字用于导入模块或者模块中的对象B、使用importturtle引入turtle库C、可以使用fromturtleimportsetup引入turtle库D、使用importturtleast引入turtle库,取别名为t标准答案:C知识点解析:使用fromturtleimportsetup只能引入turtle库的setup()函数。3、以下代码的输出结果是()。defyoung(age):if25<=age<=30:print("作为一个老师,你很年轻")elifage<25:print("作为一个老师,你太年轻了")elifage>=60:print("作为一个老师,你可以退休了")else:print("作为一个老师,你很有爱心")young(42)A、作为一个老师,你很年轻B、作为一个老师,你太年轻了C、作为一个老师,你可以退休了D、作为一个老师,你很有爱心标准答案:D知识点解析:将实参42传递给函数形参变量age,之后进入多分支结构,依次判断,因为30<42<60,故执行else后面的语句,即输出“作为一个老师,你很有爱心”。本题选择D选项。4、与信息隐蔽的概念直接相关的概念是A、软件结构定义B、模块独立性C、模块类型划分D、模块耦合度标准答案:B知识点解析:信息隐蔽与模块独立性直接相关。信息隐蔽是指在一个模块内包含的信息,对于不需要这些信息的其他模块来说是不能访问的。5、树的度为3,且有9个度为3的结点,5个度为1的结点,但没有度为2的结点。则该树总的结点数为()。A、32B、14C、33D、19标准答案:C知识点解析:在树中,树中的节点数等于树中所有节点的度之和再加1。题干中树的度为3,有9个度为3的结点,5个度为1的结点,无度为2的结点,设有n个度为0的结点,则总结点数=9×3+5×1+0×2+n×0+1=33个。6、定义学生选修课程的关系模式如下:SC(S#,sn,C#,cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分)则对主属性部分依赖的是()。A、(S#,C#)→GB、S#→SnC、(S#,C#)→S#D、(S#,C#)→C#标准答案:B知识点解析:关系SC中的主键是(S#,C#),但S#(学号)单独就可以决定Sn(姓名),存在着对主属性的部分依赖。7、以下代码的输出结果是()。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标准答案: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选项。8、下面代码的执行结果是a=’’Python等级考试’’b=’’=’’c=’’>’’print(’’{0:{1}{3}{2}}’’.format(a.b.25.c))A、==============Python等级考试B、Python等级考试==============C、>>>>>>>>>>>>>>>Python等级考试D、Python等级考试>>>>>>>>>>>>>>>标准答案:A知识点解析:参考字符串格式化format方法。9、设city.csv文件内容如下:巴哈马,巴林,孟加拉国,巴巴多斯白俄罗斯,比利时,伯利兹下面代码的执行结果是f=open(’’city.csv’’,’’r’’)ls=f.read().split(’’,’’)f.close()print(ls)A、[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯’,’白俄罗斯’,’比利时’,’伯利兹’]B、[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯\n白俄罗斯’,’比利时’,’伯利兹’]C、[’巴哈马,巴林,孟加拉国,巴巴多斯,白俄罗斯,比利时,伯利兹’]D、[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯’,’\n’,’白俄罗斯’,’比利时’,’伯利兹’]标准答案:B知识点解析:以split(’’,’’)方法从CSV文件中获得内容时,无法去除换行符。’巴巴多斯\n白俄罗斯’作为一个列表元素出现。10、下面对软件特点描述错误的是()。A、软件的使用存在老化问题B、软件的复杂性高C、软件是逻辑实体,具有抽象性D、软件的运行对计算机系统具有依赖性标准答案:A知识点解析:软件具有以下特点。①软件是一种逻辑实体,具有抽象性。②软件没有明显的制作过程。③软件在使用期间不存在磨损、老化问题。④对硬件和环境具有依赖性。⑤软件复杂性高,成本高。⑥软件开发涉及诸多的社会因素。本题选择A选项。11、结构化程序的3种基本控制结构是()。A、递归、堆栈及队列B、过程、子程序及函数C、顺序、选择及重复D、调用、返回及转移标准答案:C知识点解析:1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择及重复这3种基本控制结构就足以表达出各种结构的程序设计方法。本题选择C选项。12、树的度为3,且有9个度为3的结点,5个度为1的结点,但没有度为2的结点。则该树中的叶子结点数为()。A、18B、33C、19D、32标准答案:C知识点解析:设叶子结点数为n,则该树的结点数为n+9+5=n+14,根据树中的结点数=树中所有结点的度之和+1,得9×3+0×2+5×1+n×0+1=n+14,则n=19。13、给出如下代码:MonthandFlower={’’1月’’:’’梅花’’,’’2月’’:’’杏花’’,’’3月’’:’’桃花’’,’’4月’’:’’牡丹花’’,\’’5月’’:’’石榴花’’,’’6月’’:’’莲花’’,’’7月’’:’’玉簪花’’,’’8月’’:’’桂花’’,’’9月’’:’’菊花’’,\’’10月’’:’’芙蓉花’’,’’11月’’:’’山茶花’’,’’12月’’:’’水仙花’’}n=input(’’请输入1一12的月份:’’)print(n+’’月份之代表花:’’+MonthandFlower.get(str(n)+’’月’’))以下选项中描述正确的是A、MonthandFlower是集合类型变量B、代码实现了获取一个整数(1—12)来表示月份,输出该月份对应的代表花名C、MonthandFlower是列表类型变量D、MonthandFlower是一个元组标准答案:B知识点解析:Month&Flower是字典类型变量。字典是集合类型的延续,各个元素并没有顺序之分。字典是存储可变数量键值对的数据结构,键和值可以是任意数据类型。字典的主要用法是通过索引符号来实现查找与特定键相对应的值。如果想保持一个集合中元素的顺序,需要使用列表,而不是元组。14、以下关于Python语言复数类型的描述中,错误的是()。A、复数可以进行四则运算B、实部不可以为0C、Python语言中可以使用z.real和a.imag分别获取它的实部和虚部D、复数类型与数学中复数的概念一致标准答案:B知识点解析:在Python语言中,复数类型表示数学中的复数,D项正确。复数可以看作是二元有序实数对(a,b),表示a+bj,其中a是实数部分,简称实部,b是虚数部分,简称虚部。虚数部分通过后缀”J”或”j”来表示,实部、虚部都可为0。复数可以进行四则运算。A项正确,B项错误。复数类型中,实部和虚部都是浮点类型,对于复数z,可以使用z.real和a.imag分别获取它的实部和虚部。C项正确。15、以下关于Python循环结构的描述中,错误的是()。A、while循环使用关键字continue结束本次循环B、while循环可以使用保留字break和continueC、while循环也叫遍历循环,用来遍历序列类型中元素,默认提取每个元素并执行一次循环体D、while循环使用pass语句,则什么事也不做,只是空的占位语句标准答案:C知识点解析:Python中循环包括两种:遍历循环和无限循环。遍历循环使用保留字for依次提取遍历结构元素进行处理;无限循环使用保留字while根据判断条件执行程序。循环结构有两个辅助循环控制保留字:break和continue。break用来跳出最内层for或while循环,脱离该循环后程序从循环后的代码继续执行。continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但跳不出当前循环。pass:什么事也不做,只是空占位语句,是无运算的占位语句,当语法需要语句并且还没有任何使用的语句可写时,就可以使用它。它通常用于为复合语句编写一个空的主体。例如,如果想写个无限循环,每次迭代什么也不做,就写个pass。pass是有意义的,例如,忽略try语句所捕获的异常,以及定义带属性的空类对象,而该类实现的对象行为就像其他语言的结构和记录。pass有时指的是“以后会填上”,只是暂时用于填充函数主体而已,无法保持函数体为空而不产生语法错误,因此,可以使用pass来替代。两者的区别是:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。16、以下代码的输出结果是()。ls=[”apple”,”red”,”orange”]deffunC(a):ls.append(a)returnfunC(”yellow”)print(ls)A、[]B、[”apple”,”red”,”orange”]C、[“yellow”]D、[”apple”,”red”,”orange”,”yellow”]标准答案:D知识点解析:列表ls中有三个元素,函数funC(”yellow”),将”yellow”传递给形参a,用append()方法将a中内容添加到列表ls中,最后返回,故最终的ls=[”apple”,”red”,”orange”,”yellow”],print(ls),即将列表ls中的内容输出。17、以下代码执行后,book.txt文件的内容是()。fo=open(”book.txt”,”W”)ls=[’book’,’23’,’201009’,’20’]fo.write(six(Is))fo.close()A、[’book’,’23’,’201009’,’20’]B、book,23,201009,20C、[book,23,201009,20]D、book2320100920标准答案:A知识点解析:执行fo=open(”book.txt”,”w”),打开book.txt文本文件,打开模式为’w’(覆盖写模式);创建列表ls=[’book’,’23’,’201009’,’20’];str()函数返回一个对象的字符串格式,str(ls)返回ls中字符串,fo.write(str(ls))将返回的字符串写入book.txt文本文件中。故选A项。18、下面关于局部变量和全局变量的描述,正确的是()。A、全局变量不可以定义在函数中B、全局变量在使用后立即被释放C、局部变量在使用后立即被释放D、局部变量不可以和全局变量的命名相同标准答案:C知识点解析:根据程序中变量所在的位置和作用范围,变量分为局部变量和全局变量。局部变量指在函数内部定义的变量,仅在函数内部有效,且作用域也在函数内部,当函数退出时变量将不再存在。全局变量一般指在函数之外定义的变量,在程序执行全过程有效。全局变量在函数内部使用时,需要提前使用保留字global声明,语法形式:global<全局变量>。使用global对全局变量声明时,该变量要与外部全局变量同名。本题选择C选项。19、以下关于浮点数3.0和整数3的描述,正确的是()。A、两者使用相同的硬件执行单元B、两者使用相同的计算机指令处理方法C、两者是相同的数据类型D、两者具有相同的值标准答案:D知识点解析:浮点数3.0和整数3具有相同的值,硬件执行单元、计算机指令处理方法和数据类型均不相同。本题选择D选项。20、软件设计中模块划分应遵循的准则是()。A、低内聚、低耦合B、高内聚、低耦合C、低内聚、高耦合D、高内聚、高耦合标准答案:B知识点解析:软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能低,模块的内聚度应尽可能高。本题选择B选项。21、以下程序的输出结果是()。a,b,c=’I’,chr(64),”you”s=a+b+Cprint(s)A、I@youB、IyouC、I4youD、Ichr(64)you标准答案:A知识点解析:程序中,chr(64)输出的是字符@,之后用”+”连接字符串,最后输出I@you。本题选择A选项。22、以下关于文件的打开和关闭的描述中,正确的是()。A、二进制文件不能使用记事本程序打开B、二进制文件可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容C、使用内置函数open()且以w模式打开文件,若文件存在,则会引发异常D、使用内置函数open()打开文件时,只要文件路径正确就总可以正确打开标准答案:B知识点解析:二进制文件可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容;用内置函数open()且以w模式打开文件,若文件存在,则会覆盖原来的内容而不会引发异常。本题选择B选项。23、下列关于栈的叙述正确的是()。A、栈按“先进先出”组织数据B、栈按“先进后出”组织数据C、只能在栈底插入数据D、不能删除数据标准答案:B知识点解析:栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。24、一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。A、12345ABCDEB、EDCBA54321C、ABCDEl2345D、54321EDCBA标准答案:B知识点解析:栈按先进后出的原则组织数据,所以入栈最早的元素最后出栈,本题选择B选项。25、在面向对象方法中,不属于“对象”基本特点的是()。A、一致性B、分类性C、多态性D、标识唯一性标准答案:A知识点解析:对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。本题选择A选项。26、以下关于文件读写的描述中,错误的是()。A、对文件进行读写操作之后必须关闭文件以确保所有内容都得到保存B、以写模式打开的文件无法进行读操作C、文件对象的seek()方法用来返回文件指针的当前位置D、文件对象的readline()方法用来读取一行字符串标准答案:C知识点解析:文件对象的seek()方法用来定位文件的读/写位置,tell()方法用来返回文件指针的当前位置。27、下列叙述中正确的是()。A、循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B、在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C、在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D、循环队列中元素的个数是由队头指针和队尾指针共同决定标准答案:D知识点解析:循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A错误;在循环队列中需要队头指针与队尾指针来共同反映队列中元素的动态变化情况,所以B与C错误。28、对于以下代码的描述正确的是()。s=”Pythonisgood”l=”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_1为”Pythonisgoodisn’tit?”D、s_number为”Python”标准答案:C知识点解析:len()方法用来获取字符串的长度,所以length应为14;title()方法是把字符串每个单词的首字母变为大写,所以应为PythonIsGood;索引的序号是从0开始的,所以s[1:6]应为ython。29、以下代码的输出结果是()。Test_list=list(range(6))print(6inTest_list)A、6B、6inTest_listC、TrueD、False标准答案:D知识点解析:Test_list是列表类型,6inTest_list表示如果6是列表Test_list的元素,返回True,否则返回False。本题选择D选项。30、以下选项中不是Python文件读/写操作方法的是()。A、write()B、writelines()C、readtext()D、read()标准答案:C知识点解析:write():向文件写入一个字符或字节流。writelines():将一个元素作为字符串的列表整体写入文件。read():从文件中读入整个文件内容。本题选择C选项。31、下面代码的输出结果是()。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标准答案:B知识点解析:append()是向列表元素的结尾增加元素。本题选择B选项。32、下列数据结构中,能够按照“先进后出”原则存取数据的是()。A、循环队列B、栈C、队列D、二叉树标准答案:B知识点解析:栈是按先进后出的原则组织数据的。队列是按先进先出的原则组织数据。33、下列叙述中正确的是()。A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈与队列都是非线性结构D、以上三种说法都不对标准答案:D知识点解析:栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构。34、层次型、网状型和关系型数据库划分原则是()。A、记录长度B、文件的大小C、联系的复杂程度D、数据之间的联系方式标准答案:D知识点解析:层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。35、下列不属于处理Python中字典的方法的是()。A、pop()B、replace()C、get()D、popitem()标准答案:B知识点解析:pop()方法:键存在则返回相应值,同时删除键值对,否则返回默认值;get()方法:若访问的项不存在于字典中,返回默认值,若存在,则返回键对应的值;popitem()方法:随机从字典中取出一个键值对,以元组(key,value)形式返回,同时将该键值对从字典中删除。replace()方法:是字符串的操作方法,在字符串中用新的子串替换旧的子串,返回字符串的副本。36、以下程序的输出结果是()。x=10y=0if(x>5)or(x/y>5):print(’Right’)else:print(’Wrong’)A、RightB、WrongC、报错:ZeroDivisionErrorD、不报错,但不输出任何结果标准答案:A知识点解析:在Python中,or表示多个条件之间的”或”关系。xory,若x为True,则xory的结果为True,不再对y进行判断。本题中,x>5为True,故(x>5)0r(x/y>5)的结果为True,输出结果为Right。37、以下程序的输出结果是()。defloc_glo(b=2,a=4):globalzz+=3*a+5*breturnzz=10print(z,loc_glo(4,2))A、3636B、3232C、1036D、1032标准答案:C知识点解析:本题中,变量z为全局变量,函数内部改变了该变量的值,外部该变量的值不变,因此最后z的值仍为10。然后执行函数glo(4,2),将实参4传递给形参b,将实参2传递给形参a,函数体内z+=3*a+5*b可变形为z=10+3*a+5*b=10+3*2+5*4=36,函数的返回值为36。故答案为C项。二、基本编程题(本题共3题,每题1.0分,共3分。)38、考生文件夹下存在一个文件PY102.py,请写代码替换横线,不修改其他代码,实现以下功能:键盘输入一段文本,保存在一个字符串变量s中,分别用Python内置函数及jieba.库中已有函数计算字符串s的中文字符个数及中文词语个数。注意:中文字符包含中文标点符号。例如,键盘输入:科技是第一生产力屏幕输出:中文字符数为8,中文词语数为4。试题程序:#请在程序的________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码importjiebas=input(“请输入一个字符串”)n=________m=________print(”中文字符数为{},中文词语数为{}。”.format(n,m))标准答案:importjiebas=input(”请输入一个字符串”)n=len(s)m=len(jieba.lcut(s))print(”中文字符数为{},中文词语数为{}。”.format(n,m))知识点解析:由题目可知,题目要求使用jieba中文分词库,统计输入的字符串的长度以及中文词语数。给定字符串s中仅包含中文字符及中文标点符号,因此可以直接使用len()函数统计字符数量。再使用jieba库的lcut(s)方法,返回一个以中文词语为元素的列表类型,使用len()获得列表的长度,即中文词语数量。39、考生文件夹下存在一个文件“PY101.py”,请写代码替换横线,不修改其他代码,实现以下功能。循环获得用户输入,直至用户输入y或者Y则退出程序。试题程序:#请在________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码While________(1)________:s=input(“请输入信息:”)if________(2)________:break标准答案:whileTure:s=input("请输入信息:")ifs=="y"ors=="Y":break知识点解析:题目要求无限循环,即while的条件一直为真,所以第1空为True,根据键盘输入的信息判断是否结束循环。当输入的信息为y或Y时退出循环,所以if的判断条件为“或”的关系,第2空应填s=="y"ors=="Y"。40、考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:以0为随机数种子,随机生成5个在1(含)到97(含)之间的随机数,计算这五个随机数的平方和。试题程序:#请在______处使用一行代码或表达式替换##注意:请不要修改其他已给出代码importrandom_____(1)_____s=0foriinrange(5):n=random.randint(_____(2)_____)#产生随机数s=______(3)______print(s)标准答案:importrandomrandom.seed(0)s=0foriinrange(5):n=random.randint(1,97)#产生随机数s=s+n**2print(s)知识点解析:题目要求以0为随机数种子,seed()函数用于初始化随机数种子,因此第一空应填入:random.seed(0)。randint(a,b)函数用于生成一个[a,b]之间的整数(包含a和b),题目要求的是1(含)到97(含)之间的随机数,因此第二空填入:1,97。最后要求出五个随机数的平方和,一个数的平方可以表示为n**2,平方和可表示为s=s+n**2,因此第三空填入:s+n**2。三、简单应用题(本题共2题,每题1.0分,共2分。)41、编写代码完成如下功能:(1)建立字典d,包含内容是:’’数学’’:101,’’语文’’:202,’’英语’’:203,’’物理’’:204,’’生物’’:206。(2)向字典中添加键值对’’化学’’:205。(3)修改’’数学’’对应的值为201。(4)删除’’生物’’对应的键值对。(5)打印字典d全部信息,参考格式如下(注意,其中逗号为英文逗号,逐行打印):201:数学202:语文(略)标准答案:(1)d={’’数学’’:101,’’语文’’:202,’’英语’’:203,’’物理”:204,’’生物’’:206}(2)d[’’化学’’]=205(3)d[’’数学’’]=201(4)deld[’’生物’’](5)forkeyind:print(’’{}:{}’’.format(d[key],key))知识点解析:这是一个简单应用题,用来操作字典类型。(1)建立字典采用{}。d={’’数学’’:101,’’语文’’:202,’’英语’’:203,’’物理’’:204,’’生物’’:206}(2)可以使用字典索引[]方式直接增加新的“键值对”。d[’’化学’’]=205(3)可以使用字典索引[]方式直接修改“键值对”信息。d[’’数学’’]=201(4)使用del及字典索引[]方式删除“键值对”信息。deld[’’生物’’](5)遍历字典时需要注意,循环变量并不是“键值对”,而只是键,可以通过循环变量索引字典中键和值的信息。forkeyind:print(’’{}:{}’’.format(d[key],key))42、补充完善如下代码。使得程序能够计算a中各元素与b逐项乘积的累加和。a=[[1,2,3],[4,5,6],[7,8,9]]b=[3,6,9]①forcina:forjin②:s+=c[j]*b[j]print(s)标准答案:a=[[1,2,3],[4,5,6],[7,8,9]]b=[3,6,9]s=0forcina:forjinrange(3):s+=c[j]+b[j]print(s)知识点解析:这是一个简单应用题,用来进行二维列表操作。由于题目要求进行求和,求和运算首先需要一个记录求和的变量,该变量初始值应该为0,逐步累加。因此,该题目最先需要补充的代码是给求和变量s赋值为0。之后,通过两层循环遍历列表所有元素,进行乘积求和操作。参考代码及注释如下:a=[[1,2,3],[4,5,6],[7,8,9]]b=[3,6,9]s=0#所有求和运算都要给予求和变量为0的初值forcina:forjinrange(3):s+=c[j]*b[j]#累加乘积求和print(s)四、综合应用题(本题共1题,每题1.0分,共1分。)43、古代航海人为了方便在航海时辨别方位和观测天象,将散布在天上的星星运用想象力将它们连接起来,有一半是在古时候已命名,另一半是近代开始命名的。两千多年前古希腊的天文学家希巴克斯命名十二星座,依次为白羊座、金牛座、双子座、巨蟹座、狮子座、处女座、天秤座、天蝎座、射手座、摩羯座、水瓶座和双鱼座。给出二维数据存储CSV文件(SunSign.esv),内容如下:星座,开始月日,结束月日,Unicode水瓶座,120,218,9810双鱼座,219,320,9811白羊座,321,419,9800金牛座,420,520,9801双子座,521,621,9802巨蟹座,622,722。9803狮子座,723,822,9804处女座,823,922,9805天秤座,923,1023,9806天蝎座,1024,1122,9807射手座,1123,1221,9808摩羯座,1222,119,9809请编写程序,读入CSV文件中数据,循环获得用户输入,直至用户直接输入回车退出。根据用户输入的星座名称,输出此星座的出生日期范围及对应字符形式。如果输入的星座名称有误,请输出“输入星座名称有误!”。参考输入和输出如下所示:>>>请输入星座中文名称(例如,双子座):双子座Ⅱ座的生日位于521—621之间。请输入星座中文名称(例如,双子座):猎户座输入星座名称有误!请输入星座中文名称(例如,双子座):>>>标准答案:fi=open(’’SunSign.csv’’,’’r’’)ls=[]forlineinfi:line=line.replace(’’\n’’,’’’’)ls.append(line.split(’’,’’))fi.close()iStr=input(’’请输入星座中文名称(例如,双子座):’’)whileiStr!=’’’’:flag=Falseforlineinls:ifiStr==line[0]:print(’’{}座的生日位于{}一{}之间。’’.\format(chr(eval(line[3])),line[1],line[2]))flag=Truebreakifflag==False:print(’’输入星座名称有误!’’)iStr=input(’’请输入星座中文名称(例如,双子座):’’)知识点解析:本题主要考查导入CSV格式数据到列表中。需要注意的是,以split(’’,’’)方法从CSV文件中获得内容时,每行最后一个元素后面包含了一个换行符(’’\n’’),这个换行符是多余的,可以使用字符串的replace()方法将其去除。参考程序代码如下:InputStr=input(’’’’)#请输入星座名称,例如双子座InputStr.strip()fo=open(’’SunSign.csv’’,’’r’’)ls=[]forlineinfo:line=line.replace(’’\n’’,’’’’)ls.append(line.split(’’,’’))fo.close()flag=Falseforlineinls:ifInputStr==line[0]:print(’’{}座的生日位于{}-{}之间。’’.\format(chr(eval(line[3])),line[1],line[2]))flag=Trueifflag==False:print(’’输入星座名称有误!’’)国家二级(Python)机试模拟试卷第3套一、单项选择题(本题共34题,每题1.0分,共34分。)1、下列叙述中正确的是()。A、链表可以是线性结构也可以是非线性结构B、链表只能是非线性结构C、快速排序也适用于线性链表D、二分法查找也适用于有序链表标准答案:A知识点解析:线性表的链式存储结构称为线性链表,线性链表可以是线性结构也可以是非线性结构。快速排序和二分法查找适用于顺序存储的线性表。本题选择A选项。2、循环队列的存储空间为Q(1:50)。经过一系列正常的入队与退队操作后,front=rear=25。然后又成功地将一个元素退队,此时队列中的元素个数为()。A、24B、49C、26D、0标准答案:B知识点解析:当front=rear时可知队列要么为空要么为满,因为又成功地将一个元素退队,说明之前队列为满(为空时队列中无元素),退出一个元素后队列中还有50-1=49个元素。本题选择B选项。3、设二叉树中有20个叶子节点,5个度为1的节点,则该二叉树中总的节点数为()。A、46B、45C、44D、不可能有这样的二叉树标准答案:C知识点解析:二叉树中只存在度为0、1、2的结点,根据在二叉树中度为0的结点(叶子结点)总比度为2的结点多一个,可知本题中度为2的结点有20-1=19个。故该二叉树中总的结点数为20+5+19=44个。本题选择C选项。4、设栈与队列初始状态为空。首先A、B、C、D、E依次入栈,接着F、G、H、I、J依次入队;然后依次出队至队空,接着依次出栈至栈空。则输出序列为()。A、E、D、C、B、A、F、G、H、I、JB、E、D、C、B、A、J、I、H、G、FC、F、G、H、I、J、A、B、C、D、E、D、F、G、H、I、J、E、D、C、B、A标准答案:D知识点解析:栈称为“后进先出”表或“先进后出”的线性表;队列称为“先进先出”或“后进后出”的线性表。F、G、H、I、J依次入队,则依次出队顺序为F、G、H、I、J;A、B、c、D、E依次入栈,则依次出栈顺序为E、D、C、B、A。故输出序列为F,G,H,I,J,E,D,c,B,A。本题选择D选项。5、程序流程图是()。A、总体设计阶段使用的表达工具B、详细设计阶段使用的表达工具C、编码阶段使用的表达工具D、测试阶段使用的表达工具标准答案:B知识点解析:详细设计阶段常见的工具有程序流程图、N-S图、PAD图、HIPO图、判定表等。本题选择B选项。6、下面属于“对象”成分之一的是()。A、封装B、规则C、属性D、继承标准答案:C知识点解析:面向对象方法中的对象由两部分组成:①数据,也称为属性,即对象所包含的信息,表示对象的状态;②方法,也称为操作,即对象所能执行的功能、所能具有的行为。本题选择C选项。7、数据库管理系统能实现对数据库中数据的查询、插入、修改及删除,这类功能称为()。A、数据控制功能B、数据定义功能C、数据存储功能D、数据操纵功能标准答案:D知识点解析:数据定义功能:负责数据的模式定义与数据的物理存取构建。数据操纵功能:负责数据的操纵,包括查询与增、删、改等操作。数据控制功能:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。本题选择D选项。8、实体电影和实体演员之间的联系是()。A、一对一B、多对多C、多对一D、一对多标准答案:B知识点解析:一部电影可由多名演员参演,一名演员可以参演多部电影,因此实体电影和实体演员之间的联系是多对多。本题选择B选项。9、定义学生的关系模式如下:S(S#,Sn,Sex,Age,D#,Da)(其属性分别为学号、姓名、性别、年龄、所属学院、院长)该关系满足的最高范式是()。A、1NFB、2NFC、3NFD、BCNF标准答案: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选项。10、以下不属于Python保留字的是()。A、classB、passC、subD、def标准答案:C知识点解析:关键字是编程语言内部定义并保留使用的标识符。Python3.x有35个关键字,分别为and、as、assert、async、await、break、class、continue、def、del、elif、else、except、False、finally、for、from、global、if、import、in、is、lambda、None、nonlocal、not、or、pass、raise、return、True、try、while、with、yield。

温馨提示

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

评论

0/150

提交评论