国家二级(Python)机试历年真题试卷汇编(100题)_第1页
国家二级(Python)机试历年真题试卷汇编(100题)_第2页
国家二级(Python)机试历年真题试卷汇编(100题)_第3页
国家二级(Python)机试历年真题试卷汇编(100题)_第4页
国家二级(Python)机试历年真题试卷汇编(100题)_第5页
已阅读5页,还剩61页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

国家二级(Python)机试历年真题试卷汇编(100题)1.整数在计算机中存储和运算通常采用的格式是()。(A)原码(B)补码(C)反码(D)偏移码【答案】B【解析】根据符号位和数值位的编码方法不同,机器数有原码、补码和反码3种表示。整数在计算机中存储和运算通常采用的格式是补码。本题选择B选项。2.在操作系统中,将文件名转换为文件存储地址的结构是()。(A)路径名(B)PCB表(C)文件目录(D)文件名【答案】C【解析】一个计算机系统中有成千上万个文件,为了便于对文件进行存取和管理,计算机系统建立文件的索引,即文件名和文件物理位置之间的映射关系,这种文件的索引称为文件目录。本题选择C选项。3.在长度为n的有序链表中进行查找,最坏情况下需要比较的次数为()。(A)n-1(B)n/2(C)n(D)与有序顺序表的二分法查找相同【答案】C【解析】最坏情况为:查找的元素为表中最后一个元素或查找的元素不在表中,则需要比较表中所有元素,所以最坏情况下需要比较次数为n。本题选择C选项。4.循环队列的存储空间为Q(1:50)。经过一系列正常的入队与退队操作后,front=rear=25。然后又成功地将一个元素入队,此时队列中的元素个数为()。(A)1(B)50(C)26(D)2【答案】A【解析】设循环队列的存储空间为Q(1:m),当front=rear=m时,循环队列为空;当front=rear且不等于m时,循环队列可能为空,也可能为满。当为空时,可以插入元素;当为满时,插入元素会发生“上溢”错误。题目中已经说明“成功地将一个元素入队”,说明之前循环队列的状态为空,插入一个元素后,队列中共有1个元素。本题选择A选项。5.设二叉树的前序序列为ABCDEF,中序序列为ABCDEF,则该二叉树的后序序列为()。(A)ABCDEF(B)FEDCBA(C)DEFCBA(D)CBAFED【答案】B【解析】二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后),并且在遍历左右子树时也遵循同样的规则。本题中,二叉树的前序序列为ABCDEF,可确定二叉树的根节点为A,由于后序序列最后访问根节点,可排除A、D两项;由中序序列为ABCDEF可知,以A为根的这棵二叉树不存在左子树,且由前序序列和中序序列相同可判断出每棵子树均不存在左子树(即只有右子树),后序序列先访问处于右子树上的节点F。本题选择B选项。6.不属于对象构成成分的是()。(A)标识(B)属性(C)方法(或操作)(D)规则【答案】D【解析】对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。一个对象通常可由对象名(标识)、属性和操作三部分组成。本题选择D选项。7.软件工程的三要素是()。(A)方法、工具和环境(B)方法、工具和过程(C)方法、平台和管理(D)方法、工具和文档【答案】B【解析】软件工程包含方法、工具和过程3个要素。方法是完成软件开发各项任务的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。本题选择B选项。8.关于数据库管理阶段的特点,下列说法中错误的是()。(A)数据独立性差(B)数据的共享性高,冗余度低,易扩充(C)数据真正实现了结构化(D)数据由DBMS统一管理和控制【答案】A【解析】数据库管理阶段的数据库系统的基本特点:数据集成性、数据的共享性高,冗余性低、数据独立性高、数据统一管理与控制。本题选择A选项。9.学校的每个社团都有一名团长,且一个同学可同时担任多个社团的团长,则实体团长和实体社团间的联系是()。(A)一对一(B)一对多(C)多对一(D)多对多【答案】B【解析】一个社团只能有一名团长,一个同学可以同时担任多个社团的团长,则团长和社团之间的联系是一对多。团长是一的一方,社团是多的一方。本题选择B选项。10.如果定义班级关系如下:班级(班级号,总人数,所属学院,班级学生)则使它不满足第一范式的属性是()。(A)所属学院(B)班级号(C)总人数(D)班级学生【答案】D【解析】对于关系模式,若其中的每个属性都已经不能再分为简单项,则它属于第一范式。本题中,在关系模式“班级”中,属性“班级学生”又可以分为“学生学号”和“学生姓名”等,因此不满足第一范式。本题选择D选项。11.在Python中,IPO模式不包括()。(A)Program(程序)(B)Input(输入)(C)Process(处理)(D)Ouput(输出)【答案】A【解析】程序设计的IPO模式定义如下。I:Input输入,程序的输入。程序的输入包括文件输入、网络输入、控制台输入、随机数据输入、程序内部参数输入等。输入是一个程序的开始。P:Process处理,程序的主要逻辑。程序对输入进行处理,输出产生结果。处理的方法也叫算法,是程序最重要的部分。可以说,算法是一个程序的“灵魂”。O:Output输出,程序的输出。程序的输出包括屏幕显示输出、文件输出、网络输出、操作系统内部变量输出等。输出是一个程序展示运算成果的方式。本题选择A选项。12.拟在屏幕上输出HelloWorld,使用的Python语句是()。(A)printf(’HelloWorld’)(B)print(HelloWorld)(C)print(’HelloWorld’)(D)printf("HelloWorld")【答案】C【解析】在Python中,输出用print()函数,HelloWorld是字符串类型,需要加单引号或双引号。本题选择C选项。13.以下关于二进制整数的定义,正确的是()。(A)0B1014(B)0b1010(C)0B1019(D)0bC3F【答案】B【解析】二进制整数以0b开头,后面跟二进制数0和1。A、C、D中有4、9、C、3、F,这些都不是二进制数。本题选择B选项。14.以下关于Python的复数类型的描述中,错误的是()。(A)复数可以进行四则运算(B)实部不可以为0(C)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选项正确。本题选择B选项。15.以下变量名中,符合Python变量命名规则的是()。(A)33_keyword(B)key@word33_(C)nonlocal(D)_33keyword【答案】D【解析】Python采用大写字母、小写字母、数字、下划线及汉字等字符及其组合进行命名,但名字的首字符不能是数字,标识符中间不能出现空格,长度没有限制,变量名不能与关键字相同。本题选择D选项。16.以下关于Python分支的描述中,错误的是()。(A)Python分支结构使用保留字if、elif及else来实现,每个if后面必须有elif或else(B)if-else结构是可以嵌套的(C)if语句会判断if后面的逻辑表达式,当表达式为真时,执行if后的语句块(D)缩进是Python分支语句的语法部分,缩进不正确会影响分支功能【答案】A【解析】Python分支结构使用关键字if、elif及else来实现,每个if后面不一定要有elif或else,A项错误;if-else结构是可以嵌套的,B项正确;if语句会判断if后面的逻辑表达式,当表达式为真时,执行if后的语句块,C项正确;缩进是Python分支语句的语法部分,缩进不正确会影响分支功能,D选项正确。本题选择A选项。17.列表变量ls共包含10个元素,ls索引的取值范围是()。(A)(0,10)(B)[0,10](C)(1,10](D)[0,9]【答案】D【解析】列表使用方括号作为索引操作符,索引从0开始,即第一个元素的索引是0,第二个元素的索引是1,依此类推。本题列表中有10个元素,则索引取值范围是[0,9]。本题选择D选项。18.用键盘输入数字5,以下代码的输出结果是()。n=eval(input("请输入一个整数:"))s=0ifn>=5:n-=1s=4ifn<5:n-=1s=3print(s)(A)4(B)3(C)0(D)2【答案】B【解析】输入5,因为n=5满足第一个if条件,所以n=n-1,n=4,s=4;由于现在n=4,满足第二个if条件,所以执行n=n-1,n=3,s=3。print(s),输出3。本题选择B选项。19.以下关于Python循环结构的描述中,错误的是()。(A)while循环使用关键字continue结束本次循环(B)while循环可以使用保留字break和continue(C)while循环也叫遍历循环,用来遍历序列中的元素,默认提取每个元素并执行一次循环体(D)while循环使用pass语句,则什么事也不做,只是空占位语句【答案】C【解析】Python中循环包括两种:遍历循环和无限循环。遍历循环使用关键字for依次提取遍历结构元素进行处理;无限循环使用关键字while根据判断条件执行程序。循环结构有两个辅助循环控制关键字:break和continue。break用来跳出最内层for或while循环,脱离该循环后程序从循环后的代码继续执行。continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但跳不出当前循环。pass:什么事也不做,只是空占位语句,并且是无运算的占位语句,当语法需要语句并且还没有任何使用的语句可写时,就可以使用它。它通常用于为复合语句编写一个空的主体。如果写无限循环,每次迭代什么也不做,就写pass。pass是有意义的,如忽略try语句所捕获的异常,以及定义带属性的空类对象,而该类实现的对象行为就像其他语言的结构和记录。pass有时指“以后会填上”,只是暂时用于填充函数主体而已,无法保持函数体为空而不产生语法错误,因此,可以使用pass来替代。两者的区别:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。本题选择C选项。20.用键盘输入数字10,以下代码的输出结果是()。try:n=input("请输入一个整数:")defpow2(n):returnn*nexcept:print("程序执行错误")(A)100(B)10(C)程序执行错误(D)程序没有任何输出【答案】D【解析】Python使用关键字try和except进行异常处理,语法格式如下:try:<语句块1>except:<语句块2>语句块1是正常执行的程序内容,当执行这个语句块发生异常时,则执行except关键字后面的语句块2。当输入10时,执行try后面的语句,n=10,函数pow2()只进行了定义,但未进行调用,所以此时程序只执行了输入语句,函数不执行,语句运行正常,并不执行except后面的语句,故程序没有任何输出。本题选择D选项。21.以下关于Python的return语句的描述中,正确的是()。(A)函数只能返回一个值(B)函数必须有return语句(C)函数可以没有return语句(D)函数中最多只有一个return语句【答案】C【解析】在Python中,return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return语句,此时函数并不返回值。当函数使用return语句返回多个值时,这些值形成了一个元组数据类型,由圆括号和逗号分隔,如(a,b,c),可以使用一个变量或多个变量保存结果。本题选择C选项。22.以下关于Python全局变量和局部变量的描述中,错误的是()。(A)当函数退出时,局部变量依然存在,下次函数调用可以继续使用(B)全局变量一般指定义在函数之外的变量(C)使用global保留字声明后,变量可以作为全局变量使用(D)局部变量在函数内部创建和使用,函数退出后变量被释放【答案】A【解析】根据程序中变量所在的位置和作用范围,变量分为局部变量和全局变量。局部变量指在函数内部定义的变量,仅在函数内部有效,且作用域也在函数内部,当函数退出时变量将不再存在。全局变量一般指在函数之外定义的变量,在程序执行全过程有效。全局变量在函数内部使用时,需要提前使用关键字global声明,语法格式为global<全局变量>。使用global对全局变量声明时,该变量要与外部全局变量同名。本题选择A选项。23.以下代码的输出结果是()。CLis=list(range(5))print(5inCLis)(A)True(B)False(C)0(D)-1【答案】B【解析】range()函数的语法为.range(start,stop,step),作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列(注意不包含数参stop),step是步进参数。CLis=list(range(5)),生成一个列表,包含0、1、2、3、4。因为5不在CLis列表中,故返回False。本题选择B选项。24.关于以下代码的描述中,正确的是()。deffact(n):s=1foriinrange(1,n+1):s*=ireturns(A)代码中n是可选参数(B)fact(n)函数功能为求n的阶乘(C)s是全局变量(D)range()函数的范围是[1,n+1]【答案】B【解析】函数定义时的语法格式如下:def<函数名>(<非可选参数列表>,<可选参数>=<默认值>):<函数体>return<返回值列表>可选参数一般都放置在非可选参数的后面。本题代码中,n为非可选参数,fact(n)函数的功能为求n的阶乘。s在函数内部定义,为局部变量。根据range()函数的定义,range(1,n+1)的范围是[1,n],不包含n+1。本题选择B选项。25.以下代码的输出结果是()。deffunc(a,b):a**=breturnas=func(2,5)print(s)(A)10(B)20(C)32(D)5【答案】C【解析】该函数功能是计算a的b次方,运算符**表示幂运算,s=2**5=32。本题选择C选项。26.以下代码的输出结果是()。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中有3个元素,函数funC("yellow"),将yellow传递给形参a,用append()方法将a中内容添加到列表ls中,最后返回,故最终的ls=["apple","red","orange","yellow"],print(ls),即将列表ls中的内容输出。本题选择D选项。27.以下描述中,错误的是()。(A)Python通过索引来访问列表中元素,索引可以是负整数(B)列表用方括号来定义,继承了序列类型的所有属性和方法(C)Python列表是各种类型数据的集合,列表中的元素不能够被修改(D)Python的列表类型能够包含其他的组合数据类型【答案】C【解析】列表用方括号([])表示,由于列表属于序列类型,因此继承了序列类型的所有属性和方法,B选项正确。索引是列表的基本操作,用于获得列表中的一个元素,该操作沿用序列类型的索引方式,即正向递增索引或反向递减索引,使用方括号作为索引操作符,索引不得超过列表的元素范围,否则将产生IndexError错误,A选项正确。列表可以进行元素增加、删除、替换、查找等操作,列表没有长度限制,元素类型可以不同,能够包含其他的组合数据类型,故D选项正确、C选项错误。本题选择C选项。28.以下描述中,正确的是()。(A)如果s是一个序列,s=[1,"kate",Tree],s[3]返回True(B)如果x不是s的元素,xnotins返回True(C)如果x是s的元素,xins返回1(D)如果s是一个序列,s=[1,"kate",False],s[-1]返回True【答案】B【解析】序列的索引从0开始,所以s=[1,"kate",True]时,s[3]=0,返回False,A选项错误。xins(如果x是s的元素,返回True;否则返回False);xnotins(如果x不是s的元素,返回True;否则返回False),B选项正确、C选项错误。序列类型使用的索引可以是正向递增索引(从0开始递增),也可以是反向递减索引(从-1开始递减),所以s[-1]=False,返回的是False,D选项错误。本题选择B选项。29.以下代码的输出结果是()。S=’Pame’foriinrange(len(S)):print(S[-i],end=““)(A)Pame(B)emaP(C)ameP(D)Pema【答案】D【解析】range()函数的语法格式为range(start,stop,step),作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列(注意不包含参数stop),step是步进参数。一般默认start为0,步进step=1,如range(5),生成0、1、2、3、4。len(S)=4,foriinrange(4)表示i从0开始取值,当i==0时,print(S[0],end=""),输出P;当i=1时,print(S[-1],end=""),输出e;当i=2时,print(S[-2],end=""),输出m;当i=3时,print(S[-3],end=""),输出a。故代码输出结果为Pema。本题选择D选项。30.以下代码的输出结果是()。forsin"HelloWorld":ifs=="W":continueprint(s,end=““)(A)World(B)Hello(C)Helloorld(D)HelloWorld【答案】C【解析】forsin"HelloWorld":将字符串HelloWorld中的字符依次赋给变量s,之后进行if判断,如果s=”W”,则continue,执行下一个循环,不执行print(s,end=""),否则执行print(s,end=""),所以最后输出的结果是Helloorld。本题选择C选项。31.下面的d是一个字典变量,能够输出数字2的语句是()。d={’food’:{’cake’:1,’egg’:5},’cake’:2,’egg’:3}(A)print(d[’food’][’egg’])(B)print(d[’cake’])(C)print(d[’food’][-1])(D)print(d[’cake’][1])【答案】B【解析】在Python中,字典是存储可变数量键值对的数据结构,键和值可以是任意数据类型,通过键索引值,并可以通过键修改值。因此,可以直接利用键值对关系索引元素。索引语法格式为<值>=<字典变量>[<键>]。故能够正确索引字典并输出数字2的语句是print(d[’cake’]),本题选择B选项。32.以下代码的输出结果是()。s=[4,2,9,1]s.insert(3,3)print(s)(A)[4,2,9,1,2,3](B)[4,3,2,9,1](C)[4,2,9,2,1](D)[4,2,9,3,1]【答案】D【解析】在Python中,想要在列表中的任意位置插入元素,一般使用insert()方法。insert()方法有两个参数:第一个参数代表在列表中的位置,第二个参数是在这个位置处插入的元素。注意:插入时,是插入该位置之前。列表下标从0开始,s=[4,2,9,1],s[3]=l,则执行s.insert(3,3)后,s=[4,2,9,3,1],最后print(s),本题选择D选项。33.在Python中,进行写文件操作时定位到某个位置所用到的方法是()。(A)write()(B)writeall()(C)seek()(D)writetext()【答案】C【解析】在Python中,进行写文件操作时定位到某个位置所用到的方法是seek()。设f为文件变量,用法为f.seek(offset);含义为改变当前文件操作指针的位置;offset的值为0表示文件开头,为2表示文件结尾。本题选择C选项。34.以下对Python文件处理的描述中,错误的是()。(A)当文件以文本方式打开时,读/写按照字节流方式(B)Python能够以文本和二进制两种方式处理文件(C)Python通过解释器内置的open()函数打开一个文件(D)文件使用结束后可以用close()方法关闭,释放文件的使用授权【答案】A【解析】文件包括文本文件和二进制文件两种类型。Python对文本文件和二进制文件采用统一的操作步骤,即“打开-操作-关闭”,B选项正确。采用文本方式读入文件,文件经过编码形成字符串,输出有含义的字符;采用二进制方式打开文件,文件被解析为字节流,A选项错误。Python通过open()函数打开一个文件,并返回一个操作这个文件的变量,语法格式为<变量名>=open(<文件路径及文件名>,<打开模式>),C选项正确。文件使用结束后要用close()方法关闭,释放文件的使用授权,语法格式为<变量名>.close(),D选项正确。本题选择A选项。35.以下关于Python二维数据的描述中,错误的是()。(A)表格数据属于二维数据,由整数索引的数据构成(B)二维数据由多条一维数据构成,可以看作一维数据的组合形式(C)一种通用的二维数据存储文件是CSV文件(D)CSV文件的每行表示一个一维数据,用英文逗号分隔【答案】A【解析】二维数据也称表格数据,由关联关系数据构成,A选项错误。二维数据由多个一维数据构成,可以看作一维数据的组合形式,B选项正确。CSV文件是二维数据的存储文件,C选项正确。CSV文件的每行是一维数据,用逗号分隔,D选项正确。本题选择A选项。36.在Python中,读入CSV文件保存的二维数据,按特定分隔符抽取信息,最可能用到的函数是()。(A)read()(B)join()(C)replace()(D)split()【答案】D【解析】在Python中,读取CSV文件中的二维码数据采用遍历循环和字符串的split()方法相结合,方法如下:f=open("cpi.csv","r")ls=[]forlineinf:ls.append(line.strip("\n").split(","))f.close()本题选择D选项。37.以下代码执行后,book.txt文件的内容是()。fo=open("book.txt","w")ls=[’book’,’23’,’201009’,’20’]fo.write(str(ls))fo.close()(A)[’book’,’23’,’201009’,’20’](B)book,23,201009,20(C)[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选项。38.在Python中,属于网络爬虫领域的第三方库是()。(A)wordcloud(B)NumPy(C)Scrapy(D)PyQt5【答案】C【解析】属于网络爬虫领域的第三方库是Scrapy;NumPy库是Python在数据分析方面的第三方库;使用wordcloud可以方便地生成词云图,这是Python在数据可视化方面的第三方库;PyQt5库是Python在用户图形界面方向的第三方库。本题选择C选项。39.在Python中,用于数据分析的第三方库是()。(A)pandas(B)PIL(C)Django(D)Flask【答案】A【解析】用于数据分析的第三方库是pandas,PIL是Python在图像处理方面的第三方库,Django和Flask库是Python在Web开发方向的第三方库。本题选择A选项。40.在Python中,不属于机器学习领域第三方库的是()。(A)TensorFlow(B)time(C)PyTorch(D)MXNet【答案】B【解析】在Python中,time是Python重要的标准库之一,用于处理时间相关的问题,不属于机器学习领域的第三方库。TensorFlow、PyTorch、MXNet均属于机器学习领域第三方库。本题选择B选项。基本编程题41.考生文件夹下存在一个文件“PY101.py”,请写代码替换横线,实现以下功能。用键盘输入4个数字,各数字采用空格分隔,对应为变量x0、y0、x1、y1。计算两点(x0,y0)和(x1,y1)之间的距离,屏幕输出这个距离,保留1位小数。示例格式如下。用键盘输入:3480屏幕输出:6.4试题程序:#请在程序的________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码ntxt=input("请输入4个数字(空格分隔):")________(1)________x0=eval(nls[0])y0=eval(nls[1])x1=eval(nls[2])y1=eval(nls[3])r=pow(pow(x1-x0,2)+pow(y1-y0,2),________(2)________)print("(:.1f)”.format(r))【答案】ntxt=input("请输入4个数字(空格分隔):")nls=ntxt.split(’’)x0=eval(nls[0])y0=eval(nls[1])x1=eval(nls[2])y1=eval(nls[3])r=pow(pow(x1-x0,2)+pow(y1-y0,2),0.5)print("{:.1f}".format(r))【解析】该题要求用键盘输入两个点的坐标,然后输出两点之间的距离。计算两点之间的距离可以使用数学公式|AB|=

42.考生文件夹下存在一个文件“PY102.py”,请写代码替换横线,不修改其他代码,实现以下功能。用键盘输入一段中文文本,不含标点符号和空格,命名为变量s,采用jieba库对其进行分词,输出该文本中词语的平均长度,保留1位小数。示例格式如下。用键盘输入:黑化肥发灰会挥发屏幕输出:2.7试题程序:#请在程序的________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码import________(1)________txt=input("请输入一段中文文本:")________(2)________print("{:.1f)".format(len(txt)/len(is)))【答案】importjiebatxt=input("请输入一段中文文本:")ls=jieba,lcut(txt)print("{:.1f}".format(len(txt)/len(ls)))【解析】该题考查的是jieba中文分词库的使用。jieba库属于Python第三方库,使用时需要用关键字import导入,lcut()是最常用的一种中文分词函数,用于精确模式,即把字符串分割成等量的中文词组,返回结果是列表类型。用len()方法求出字符串的长度和列表的长度,二者相除就可以得出文本词语的平均长度。因此第1空应填入jieba,第2空应填入ls=jieba.lcut(txt)。43.考生文件夹下存在一个文件“PY103.py”,请写代码替换横线,不修改其他代码,实现以下功能。用键盘输入一个9800~9811的正整数n,作为Unicode编码,把n-1、n、n+1这3个Unicode值对应字符按照如下格式要求输出到屏幕:宽度为11个字符、加号字符(+)填充、居中。用键盘输入:9802屏幕输出:

【答案】n=eval(input("请输入一个数字:"))print("{:+^11}".format(cha(n-1)+cha(n)+cha(n+1)))【解析】要获得Unicode编码对应的字符,需要使用chr()函数。chr(i)表示返回Unicode编码为i的字符。题目要求输出3个Unicode编码对应的字符,可以用“+”将字符连接起来,因此第2空应填入chr(n-1)+chr(n)+chr(n+1)。另外,题目要求输出格式为宽度为11个字符、加号字符填充、居中对齐,因此第1空应填入+^11。简单应用题44.考生文件夹下存在一个文件“PY201.py”,请写代码替换横线,不修改其他代码,实现以下功能。使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个正方形,边长为200像素,效果如下所示。

【答案】importturtled=0foriinrange(4):turtle.fd(200)d=d+90turtle.seth(d)【解析】该题考察的是用Python标准库turtle库来绘制正方形。因为绘制4条边,所以循环执行4次,因此第1空填4。正方形边长为200像素,所以第2空填200。因为使用seth()方法更改绘制方向,所以绘制一条边后,角度增加90绘制下一条边,因此第3空应填入d+90。45.考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。用键盘输入某同学的课程名及成绩等信息,信息间采用空格符分隔,每个课程一行,按<Enter>键结束输入,示例格式如下。数学98语文89英语94物理74科学87输出得分最高的课程名及成绩,得分最低的课程名及成绩,以及平均分(保留2位小数),结果保存在考生文件夹下,命名为“PY202.txt”。注意,其中逗号为英文逗号,格式如下。最高分课程是数学98,最低分课程是物理74,平均分是88.加试题程序:#以下代码为提示框架#请在程序的…处使用一行或多行代码替换#请在程序的________处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fo=open("PY202.txt","w")data=input("请输入课程名及对应的成绩:")#课程名成绩…whiledata:…data=input("请输入课程名及对应的成绩:")…fo.write("最高分课程是{}{},最低分课程是{}{},平均分是{:.2f}".format(________))fo.close()【答案】fo=open("PY202.txt","w")data=input("请输入课程名及对应的成绩:")#课程名成绩course_score_dict={}whiledata:course,score=data.split(’’)course_score_dict[]course=rval(score)data=input("请输入课程名及对应的成绩:")course_list=sorted(list(course_score_dict.values()))max_score,min_score=course_list[-1].course_list[0]average_score=sum(course_list)/len(course_list)max_course,min_course=","foritemincourse_score_dict.items():ifitem[1]==max_score:max_course=item[0]ifitem[1]==min_scoremin_course=item[0]fo.write("最高分课程是{}{},最低分课程是{}{},平均分是{:.2f}".format(max_course,max_score,min_course,min_score,average_score))fo.close()【解析】本题涉及课程名及其成绩的统计,可以借助字典来实现,课程名及其对应的成绩构成字典的键值对。先定义一个字典变量course_score_dict,然后对其进行构造,课程名作为字典的键,其成绩作为键对应的值。题目要求输出最高成绩和最低成绩,就需要对成绩进行排序,可以使用sorted()函数,但该函数只适用于序列类型,因此需要将字典转换成列表。可以使用字典的values()方法返回所有的值信息(即所有的成绩),将这些值存入一个列表中,然后对该列表按升序进行排序并赋值给列表course_list。此时,列表course_list中第一个元素course_list[0]就是最低分min_score,最后一个元素course_list[-1]就是最高分max_score,列表中所有元素的和除以列表的长度就是平均分average_score。题目还要求输出最高分和最低分对应的课程名,可以使用for循环遍历字典course_score_dict中的每个键值对,判断键值对中的值是否和max_score或min_score相等,如果和max_score相等,则该值对应的键即为最高分课程名max_course;如果和min_score相等,则该值对应的键即为最低分课程名mix_course。最后将max_course、max_score、min_course、min_score、average_score根据格式写入文件“PY202.txt”中。综合应用题考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。下面所示为—套由公司职员随身佩戴的位置传感器采集的数据,文件名称为“sensor.txt”,其内容示例如下:2016/5/310:05,vawelon001,1,12016/5/310:20,earpa001,1,12016/5/312:26,earpa001,1,6…第1列是传感器获取数据的时间,第2列是传感器的编号,第3列是传感器所在的楼层,第4列是传感器所在的位置区域编号。【答案】46.问题1:在“PY301-1.py”文件中修改代码,读入“sensor.txt”文件中的数据,提取出传感器编号为earpa001的所有数据,将结果输出保存到“earpa001.txt”文件。输出文件的格式要求:原数据文件中的每行记录写入新文件中,行尾无空格,无空行。参考格式如下。2016/5/317:11,earpa001,2,42016/5/318:02,earpa001,3,42016/5/319:22,earpa001,3,4…试题程序:#以下代码为提示框架#请在程序的…处使用一行或多行代码替换#请在程序的________处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准…forlinein________:…fo.write(’{},{},{},{}\n’.format(________))…【答案】fi=open(’sensor.txt’,’r’)fo=open(’earpa001.txt’,’w’)txt=fi.readlines()forlineintxt:ls=line.strip("\n").spht(",")if’earpa001’inls:fo.write("{},{},{},{}\n".format(ls[0],ls[1],ls[2],ls[3]))fi.close()fo.close()【解析】本题涉及“sensor.txt”和“earpa001.txt”两个文件,前者使用r模式打开,后者使用w模式创建。从文件“sensor.txt”中读入所有的行,以行为元素形成列表txt。然后使用for循环遍历列表txt中的每个元素,并将该元素内容存入列表ls中。使用if条件判断“earpa001”是否在列表ls中,如果存在,就将列表ls中的前四个元素写入文件“earpa001.txt”中。最后关闭文件。47.问题2:在“PY301-2.py”文件中修改代码,读入“earpa001.txt”文件中的数据。统计earpa001对应的职员在各楼层和区域出现的次数,保存到“earpa001-count.txt”文件。每条记录一行,位置信息和出现的次数之间用逗号隔开,行尾无空格,无空行。参考格式如下。1-1.51-4.3…含义如下:第1行“1-1,5”中1-1表示1楼1号区域,5表示出现5次;第2行“1-4,3”中1-4表示1楼4号区域,3表示出现3次。试题程序:#以下代码为提示框架#请在程序的…处使用一行或多行代码替换#请在程序的________处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准…d={}…ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#该语句用于排序…fo.write(’{},{}\n’.format(________))…【答案】fi=open(’earpa001.txt’,’r’)fo=open(’earpa001_count.txt’,’w’)d={}forlineinfi:split_data=line.strip("\n").split(’,’)iffloor_and_areaind:d[floor_and_area]+=1else:d[floor_and_area]=1ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#该语句用于排序foriinrange(len(ls)):fo.write(’{},{}\n’.format(ls[i][0],ls[i][1]))fi.close()fo.close()【解析】本题涉及“earpa001.txt”和“earpa001_count.txt”两个文件,前者使用r模式打开,后者使用w模式创建。由于题目涉及统计计算,这可以借助字典来实现,因此首先定义字典变量d。然后使用for循环遍历“earpa001.txt”的每一行,并将该行内容存入列表split_data中,由于题目要求的格式形如“1-1”,因此需要将列表split_data中的最后两个元素通过“-”进行连接并赋值给变量floor_and_area。使用if条件判断floor_and_area在字典d中是否存在,若存在则将该键对应的值加1,若不存在则将变量作为字典的键并将对应值设置为1。ls=list(d.items())表示将字典类型变成列表类型,字典中的每个键值对对应列表中的一个元组。随后,对列表ls中的元组按照第二个元素的大小降序排序。排序后,再通过一个for循环遍历将列表ls中每个元组的第一个和第二个元素写入文件earpa001_count.txt中。最后关闭文件。48.下列叙述中正确的是()。(A)计算机的功能只取决于计算机的硬件(B)计算机系统由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成(C)计算机系统由硬件系统和软件系统组成(D)计算机内部也可以用十进制来表示指令和数据【答案】C【解析】一个完整的计算机系统应包括硬件系统和软件系统两大部分。硬件系统由运算器、控制器、存储器、输入设备和输出设备五大基本部件组成;软件系统又分为系统软件和应用软件。计算机的功能不仅取决于硬件系统,而且在更大程度上是由所安装的软件系统所决定的。计算机内部用二进制来表示指令和数据,不用十进制。本题选择C选项。49.I/O方式中的程序查询方式是指()。(A)在程序执行前系统首先检查该程序运行中所需要的I/O设备是否准备好(B)当CPU需要执行I/O操作时,程序将主动查询I/O设备是否准备好(C)用程序检查系统中I/O设备的好坏(D)用程序启动I/O设备【答案】B【解析】程序查询方式是指程序主动查询输入/输出设备是否准备好:如果准备好,CPU执行I/O操作;否则,CPU会一直查询并等待设备准备好后再执行I/O操作。本题选择B选项。50.下列叙述中正确的是()。(A)采用顺序存储的完全二叉树属于非线性结构(B)循环队列是队列的一种存储结构,它属于非线性结构(C)具有多个指针域的链表一定属于非线性结构(D)具有两个以上根节点的数据结构有可能是线性结构【答案】A【解析】二叉树属于非线性结构,完全二叉树作为二叉树的一种特殊形态,也属于非线性结构,A选项正确。循环队列是队列的一种顺序存储结构,队列属于线性结构,循环队列也属于线性结构,B选项错误。双向链表具有两个指针域,但属于线性结构,C选项错误。一个非空线性结构应满足两个条件:①有且只有一个根节点;②每个节点最多有一个前件,也最多有一个后件。具有两个以上根节点不满足条件①,因此为非线性结构,D选项错误。本题选择A选项。51.设循环队列的存储空间为Q(1:50),初始状态为front=rear=500经过一系列正常的操作后,front=rear-1。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为()。(A)0

(B)1(C)49(D)50【答案】A【解析】在循环队列运转起来后,如果front<rear,则队列中的元素个数为rear-front;如果front>rear,则队列中的元素个数为rear-front+m。本题中,front<rear,则队列中的元素个数为rear-front=rear-(rear-1)=1。在长度为n的线性表中寻找值最大的元素,最坏情况下需要比较的次数为n-1。因此,在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为1-1=0,即只有一个元素,不用比较就可确定是最大元素。本题选择A选项。52.某二叉树有49个度为2的节点,4个度为1的节点,30个叶子节点,则()。(A)该二叉树只能有83个节点

(B)这样的二叉树不惟一(C)该二叉树共有103个节点(D)不可能有这样的二叉树【答案】D【解析】二叉树具有如下性质:对任何一棵二叉树,度为0的节点(即叶子节点)总是比度为2的节点多一个。本题中,度为2的节点个数为49,度为0的节点个数为30,不符合二叉树的基本性质,因此不可能有这样的二叉树。本题选择D选项。53.结构化程序设计中,下面对goto语句的使用描述正确的是()。(A)禁止使用goto语句

(B)使用goto语句程序效率高(C)应避免滥用goto语句(D)以上说法均不对【答案】C【解析】之所以限制使用goto语句,是因为滥用goto语句确实有害,应尽量避免;完全避免使用goto语句也并非是明智的方法,有些地方使用goto语句会使程序流程更清楚、效率更高;争论的焦点不应该放在是否取消goto语句,而应该放在用在什么样的程序结构上。本题选择C选项。54.下面不属于需求分析阶段任务的是()。(A)确定软件系统的功能需求

(B)确定软件系统的性能需求(C)需求规格说明书评审(D)制定软件集成测试计划【答案】D【解析】需求分析阶段的工作可以分为4个方面:需求获取、需求分析、需求规格说明书编写和需求评审。本题选择D选项。55.长期储存在计算机内的,有组织的、可共享的大量数据的集合是()。(A)数据库

(B)数据库系统(C)数据库管理系统(D)关系数据库系统【答案】A【解析】数据库(Database,DB)是指长期存储在计算机内的,有组织的、可共享的数据集合。本题选择A选项。56.在数据库的数据模型中,面向数据库管理系统且着重于数据在数据库系统一级实现的是()。(A)概念模型

(B)逻辑模型(C)物理模型(D)面向对象的模型【答案】B【解析】逻辑数据模型,也称逻辑模型,是面向数据库系统的模型,着重于在数据库系统一级的实现。成熟并被大量使用的逻辑模型有层次模型、网状模型、关系模型和面向对象模型等。本题选择B选项。57.关系R经过运算σA=B∧C>4∧D>3(R)的结果为()。

(A)(a,a,2,4)

(B)(e,e,6,1)(C)(c,c,11,4)(D)(a,a,2,4)和(e,e,6,1)【答案】C【解析】选择运算是在二维表中选出符合逻辑条件的行,形成新的关系的过程。设关系的逻辑条件为F,则关系R满足F的选择运算可写成σF(R)。本题中条件为“A=B∧C>4∧D>3”(∧为并且的意思),只有(c,c,11,4)满足。本题选择C选项。58.关于Python语言发展的描述,最次要的因素是()。(A)解释器采用Unicode编码,支持中文处理(B)语言开源开放,能够整合C语言代码(C)各领域应用广泛,通用性强(D)语法简洁、精炼,语言设计质量高【答案】A【解析】Python语言开源开放,能够整合C语言代码,应用广泛,通用性强,语法简洁、精练以及语言设计质量高等优点都是其发展越来越好的重要因素,而采用Unicode编码并不能对其自身发展起到决定性的作用。本题选择A选项。12.不是Python保留字的选项是()。(A)define

(B)break(C)await(D)finally【答案】A【解析】保留字,也称关键字,是指被编程语言内部定义并保留使用的标识符。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。本题选A选项。59.关于变量名称的定义,错误的选项是()。(A)false

(B)a123(C)pass(D)And【答案】C【解析】在Python中,变量的命名需要以字母或下划线开头,后面跟字母、下划线和数字;不能以数字开头;不能与保留字相同。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。C选项是保留字。本题选择C选项。60.关于input()函数的描述,错误的选项是()。(A)用户输入的信息全部被当作一个字符串处理(B)用户可以输入多行信息,并将被当作一个字符串处理(C)input()参数用于提示用户,不影响用户输入的内容(D)input()参数只能是字符串类型【答案】B【解析】input()函数用于获取用户输入的信息,并将信息组成一个字符串处理。input()函数含有参数,用于提示用户输入,当用户输入信息时,使用回车也就是想换一行时,会停止输入,结束input()函数。本题选择B选项。61.关于字符串类型转换的描述,错误的选项是()。(A)str(123)的结果是’123’(B)str(1.23)的结果是’1.23’(C)str(1+2j)的结果是’(1+2j)’(D)str(1+2)对表达式1+2进行字符串转换,结果是’1+2’【答案】D【解析】str()函数是将参数转换为字符串,当参数是表达式的时候会先计算出结果,再进行转换,所以D选项的答案应是’3’。本题选择D选项。62.关于数字运算符的描述,错误的选项是()。(A)运算符%实现取余操作,参与运算的可以是浮点数,结果可能是浮点数(B)运算符/实现除法操作,如果参与运算的都是整数,结果只能是整数(C)运算符*实现乘法操作,参与运算的可以是任意数字类型(D)运算符**实现幂运算操作,幂数可以是整数【答案】B【解析】%是取余运算符,当参与运算的数字存在浮点数的时候,结果是浮点数,A选项正确;/是除法运算符,结果只能是浮点数或者复数,B选项错误;*是乘法运算符,只要是数字均可参与乘法运算,C选项正确;**是幂运算,代表数字的多少次方,D选项正确。本题选择B选项。63.关于操作字符串变量s的使用方式,错误的选项是()。(A)s.len()

(B)s.format()(C)s.split()(D)s.join()【答案】A【解析】字符串没有len()方法,可以利用len()函数计算字符串的长度;format()方法用来对字符串进行格式化操作;split()方法用来对字符串进行切割;join()方法是利用字符串拼接其他多元素数据类型。本题选择A选项。64.字符串s=’中华人民共和国国庆日是10月1日’,使用表达式提取s中的日期’10月1日’,正确的选项是()。(A)s[12:]

(B)s[-5:-1](C)s[-5:](D)s[-4:]【答案】C【解析】此题考查的是字符串的切片。A选项,切片得到的结果为’0月1日’;B选项,切片得到的结果为’10月1’;C选项,切片得到的结果为’10月1日’;D选项,切片得到的结果为’0月1日’。本题选择C选项。65.不用于Python循环结构保留字的选项是()。(A)else

(B)continue(C)break(D)lambda【答案】D【解析】Python循环结构中涉及的保留字有for、while,还有控制循环的continue、break,以及循环的扩招模式else。本题选择D选项。66.以下代码的执行结果是()。a="123"ifa>"Python":print("再学Python")else:print("初学Python")(A)初学Python

(B)再学Python(C)没有输出(D)执行出错【答案】A【解析】观察题目中代码,判断字符串’123’>’Python’的布尔值,然后根据布尔值执行对应的分支。字符串是按照对应索引位置比较大小,从索引0开始,只要有一个索引分出了大小,便得到布尔值,字符串比较大小的规则是’0’<’9’<’A’<’Z’<’a’<’z’。所以’123’>’Python’,得到False,执行else分支。本题选择A选项。67.以下代码的执行结果是()。x=99a=list(range(100))whilex<len(a):a=a[:x]x-=1iflen(a)==5:breakprint(a)(A)[0,1,…,98,99]

(B)[0,1,2,3,4](C)[4,3,2,1,0](D)执行出错【答案】B【解析】观察题目中代码,给x变量赋值为99,给a变量赋值list()函数转换。range()函数生成的数据,range()函数生成从0到99一共100个数字的数据,list()函数转换过后得到0到99的列表。进入循环中,不停地将x的长度减1,此时a每次切片都赋值索引少1的数据,直到a的长度等于5。因为每次切片是将最后一个元素删除,所以剩下的a是前5个元素,也就是[0,1,2,3,4]。本题选择B选项。68.关于程序异常处理的描述,错误的选项是()。(A)在进行关键计算时使用异常处理,如除0运算(B)在获得用户输入时使用异常处理,避免输入格式异常(C)在读取文件时使用异常处理,避免文件读取异常(D)在所有运算中都应该使用异常处理,避免程序任何可能的错误【答案】D【解析】Python中的异常处理机制是防止程序因某些非编程原因的错误导致程序终止,或者在可能出现异常的代码处增加处理机制。一般来说,程序段无须增加异常处理机制。本题选择D选项。69.关于while循环的描述,正确的选项是()。(A)while循环可以实现无限循环

(B)while循环不能实现计数循环(C)while循环与遍历循环等效(D)while循环不能用于函数内部【答案】A【解析】在Python中for循环被称作遍历循环,while循环被称作无限循环,所有的for循环都可以用while循环改写,循环语句可以在Python程序的程序段中使用。本题选择A选项。70.关于函数的描述,正确的选项是()。(A)每个递归函数都只能有一个基例(B)一个函数中只允许有一条return语句(C)定义函数和调用该函数的代码可以写在不同的Python程序里(D)每个函数都必须有return语句【答案】C【解析】递归函数可以有多个基例,A选项错误;函数内可以存在0条、1条或多条return语句,B、D选项错误;调用函数的代码可以在另一个Python程序中,只要导入定义函数的模块即可,C选项正确。本题选择C选项。71.以下代码的执行结果是()。deffunc(m,n):m=2s=m*nreturnsm=5n=2print(func(5,2))(A)10

(B)4(C)25(D)5【答案】B【解析】观察题目中代码,创建函数传递两个参数,然后设置局部变量m为2,计算出s的值并作为返回值,后续程序创建全局变量m和n,然后调用函数输出返回值。传递m和n进入函数内,因为函数内将m的值赋值为2,n的值使用的是形参2,所以计算出s为4,所以执行结果为4。本题选择B选项。72.以下代码不可能的执行结果是()。importrandomdeffunc(n):ifn==1orn==2:return1else:returnrandom.randint(1,n-1)print(func(10))(A)3

(B)2(C)1(D)10【答案】D【解析】观察题目中代码,先导入random库,然后创建函数,在函数内编写分支语句,判断n的值,当n为1或2的时候返回1,否则就返回1到n-1之间的随机整数,因为调用函数传入了10,所以不满足条件,返回1到9之间的随机整数,则10不可能是执行结果。本题选择D选项。73.关于函数全局变量和局部变量的描述,错误的选项是()。(A)在函数内部引用局部变量时可以不用nonlocal保留字声明(B)在函数内部引用全局变量时一定要用global声明(C)全局变量指在函数外部创建的变量(D)在函数内部创建的局部变量,在函数外部不能引用【答案】B【解析】在函数内部引用全局变量可以不使用global声明,如果是更改全局变量的话,一般是需要声明的。本题选择B选项。74.关于Python组合数据类型的描述,正确的选项是()。(A)列表类型的元素访问需要索引,有正向递增和反向递减两种方式(B)集合类型的元素访问需要索引,有正向递增和反向递减两种方式(C)元组类型和列表类型都属于集合类型(D)字典类型是“键-值”数据项的组合,各键值对元素之间有先后关系【答案】A【解析】列表类型访问元素可以通过索引取值的方式,有正向递增索引和反向递减索引两种方式,A选项正确;集合类型是无序的,所以没有索引,B选项错误;元组类型和列表类型与集合类型无关,C选项错误;字典类型是“键-值”数据项的组合,但是字典没有顺序,所以D选项错误。本题选择A选项。75.关于组合数据类型的描述,错误的选项是()。(A)s是一个集合类型变量,则语句"xnotins"表示如果x不是s的元素,返回True,否则返回False(B)赋值语句animal="cat","dog","tiger","rabbit",产生一个元组类型变量(C)s是一个集合类型变量,若s={235,10,50,10},则执行print(s)的结果可能是{10,235,50}(D)s是一个列表类型变量,则语句"xisins"表示如果x是s的元素,返回True,否则返回False【答案】D【解析】notin表达式判断是否存在,如果不存在返回True,存在返回False,A选项正确;直接将多个元素通过逗号赋值给一个变量,会自动将数据加上括号形成元组进行赋值,B选项正确;集合是无序不可重复的数据类型,所以会自动去重,顺序也可能是任意形式,C选项正确;判断是否存在是使用in关键字,不存在isin表示,D选项错误。本题选择D选项。76.关于列表类型的描述,正确的选项是()。(A)list(x)可以将一个整数x转换为列表[x](B)列表ls=[1,2,3,4,5],s=ls[3:4]结果是4,结果是整数类型(C)列表ls=[1,2,3,4,5],s=ls[3:4]结果是[4],结果是列表类型(D)list({"a":1,"b":2})结果为["a",1,"b",2]【答案】C【解析】list()函数的参数需要是多元素数据类型,比如元组、字符串、字典等,当直接转换字典的时候,是对字典的键进行操作,等于舍弃字典的值,所以A选项错误、D选项错误;切片[3:4]选取第4位元素到第5位元素,包含第4位不包含第5位,所以取到4,且返回值为列表类型,B选项错误、C选项正确。本题选择C选项。77.以下代码的执行结果是()。ls=["abc",["abcdef","123","xyz"],["abe","xyz","123"],"abc"]print(len(ls[1][-3]))(A)1

(B)6(C)3(D)出错【答案】B【解析】观察题目中代码,通过索引嵌套取值,首先取ls的第2个元素为["abcdef","123","xyz"],然后取此元素的倒数第三个为"abcdef",最后len()函数求得此元素的长度为6。本题选择B选项。78.以下代码的执行结果是()。ls=[]foriinrange(11):ls.append(i**2)ls.reverse()print(ls)(A)[100,64,36,16,4,0,1,9,25,49,81](B)[0,1,4,9,16,25,36,49,64,81,100](C)[121,100,81,64,49,36,25,16,9,4,1](D)[1,4,9,16,25,36,49,64,81,100,121]【答案】A【解析】观察题目中代码,每一次循环都将列表添加一个i的平方,并且将列表逆序,根据分析,列表中的数据依次为[0]、[1,0]、[4,0,1]、[9,1,0,4]、[16,4,0,1,9]、[25,9,1,0,4,16]、[36,16,4,0,1,9,25]、[49,25,9,1,0,4,16,36]、[64,36,16,4,0,1,9,25,49]、[81,49,25,9,1,0,4,16,36,64]和[100,64,36,16,4,0,1,9,25,49,81]。本题选择A选项。79.以下代码将打印输出所有女生的名字:d={"张良":"男","李明明":"女","李华":"女","张丽":"女"}forkeyind:if________=="女":print(key)补充完整横线处代码,正确的选项是()。(A)d[key]

(B)d.values(key)(C)get(key).value(D)d.value【答案】A【解析】观察题目中代码,题目要求输出所有女生的姓名。因为直接遍历字典相当于遍历字典的键,所以key是姓名。在分支语句中判断性别,可以通过字典[键]这种形式取到值,也就是d[key]。本题选择A选项。80.文件data.csv里的内容如下:zhang,17,5wang,10,2li,19,3执行以下代码f=open(’data.csv’,’r’)print(f.readlines())f.close()关于执行结果的描述,正确的选项是()。(A)输出三行字符串(B)输出三行列表,每行列表里面有一个字符串元素(C)输出一行字符串,里面包括三个字符串(D)输出一行列表,里面包括三个字符串元素【答案】D【解析】观察题目中代码,打开文件并输出通过readlines()方法读取的数据,readlines()方法读取文件全部行内容,每一行内容形成一个字符串,所有字符串组成一个列表。本题选择D选项。81.文件a.txt的内容如下:[1,2,3,4]以下代码的执行结果是()。f=open(’a.txt’,’r’)print(f.read().split(’,’))f.close()(A)’1’,’2’,’3’,’4’

(B)[1,2,3,4](C)[’[1’,’2’,’3’,’4]’](D)1,2,3,4【答案】C【解析】观察题目中代码,打开文件并将read()方法读取的内容通过split()方法以逗号切割,然后将切割的数据输出。文件内容是’[1,2,3,4]’,通过逗号切割到的数据为’[’[1’,’2’,’3’,’4]’]’,所以输出为[’[1’,’2’,’3’,’4]’]。本题选择C选项。82.关于数据维度的描述,错误的选项是()。(A)一维数据由对等关系的有序或无序数据构成(B)列表只能存储二维数据(C)二维数据可以看成是多个一维数据的组合形式(D).txt格式文件可以存储一维数据和二维数据【答案】B【解析】列表可以存储一维数据,也可以嵌套列表存储二维数据,所以B选项错误。本题选择B选项。83.turtle库中设置画笔宽度的函数是()。(A)turtlesize()

(B)pen()(C)write()(D)width()【答案】D【解析】在turtle库中turtlesize()函数返回或设置笔的属性x或y-stretchfactors和轮廓;pen()函数用于通过一些键值对在“pen-dictionary”中返回或设置笔的属性;write()函数在屏幕上绘制文本;width()函数设置画笔的宽度。本题选择D选项。84.显示pip命令帮助信息的命令格式是()。(A)pip-h

(B)pipsearch<拟查询关键字>(C)pipinstall<拟安装库名>(D)pipdownload<拟下载库名>【答案】A【解析】pip-h是用于查询帮助信息的;pipsearch是用于查询关键字的;pipinstall是用于安装库的;pipdownload是用于下载库的。本题选择A选项。85.属于Python任务调度方向第三方库的选项是()。(A)scrapy

(B)doit(C)pandas(D)NLTK【答案】B【解析】scrapy是属于网络爬虫方向的第三方库;doit是属于任务管理和自动化的第三方库;pandas是属于数据分析的第三方库;NLTK是属于自然语言处理的第三方库。本题选择B选项。86.属于Python网络爬虫方向第三方库的选项是()。(A)Click

(B)seikit-learn(C)scrapy(D)pytoreh【答案】C【解析】Click是属于快速创建命令行的第三方库;scikit-learn是属于机器学习的第三方库;serapy是属于网络爬虫方向的第三方库;pytorch是属于深度学习的第三方库。本题选择C选项。基本编程题87.考生文件夹下存在一个文件“PY101.py”,请编写代码替换横线,不修改其他代码,实现下面功能。让用户输入一个符号作为填充字符,将”PYTHON”字符串以30字符宽、居中、其余部分以填充字符的形式格式化输出。例如:输入:#输出:############PYTHON############试题程序:#请在________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码a=input("请输入填充符号:")s="PYTHON"print("{________(1)________)".format(________(2)________))【答案】a=input("请输入填充符号:")s="PYTHON"print("{0:{1}^30}".format(s,a))【解析】该题目主要考查Python字符串的格式化方法。Python语言推荐使用.format()格式化方法,其使用方式如下:<模板字符串>.format(<逗号分隔的参数>)其中,模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用大括号({})表示,对应format()方法中逗号分隔的参数。如果模板字符串中有多个槽,可以通过format()参数的序号在模板字符串槽中指定参数的使用,参数默认从0开始编号。例如:“"{0}曰:学而不思则罔,思而不学{1}。".format("孔子","则殆")”其结果为“孔子曰:学而不思则罔,思而不学则殆。”format()方法的槽除了包括参数序号,还可以包括格式控制信息,语法格式如下:{<参数序号>:<格式控制标记>}其中,格式控制标记包括<填充><对齐><宽度><,><.精度><类型>6个字段,由引导符号(:)作为引导标记,这些字段都是可选的,可以组合使用。<填充>:用于填充的单个字符。<对齐>:分别使用<、>和^3个符号表示左对齐、右对齐和居中对齐。<宽度>:当前槽设定的输出字符宽度。<,>:用于显示数字类型的

温馨提示

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

评论

0/150

提交评论