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

下载本文档

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

文档简介

国家二级(Python)机试模拟试卷9(共6套)(共269题)国家二级(Python)机试模拟试卷第1套一、单项选择题(本题共40题,每题1.0分,共40分。)1、过程控制系统属于()。A、批处理系统B、实时系统C、分时系统D、多道程序系统系统标准答案:B知识点解析:实时操作系统是指当外界事件或数据产生时,系统能够接收并以足够快的速度予以处理和响应,能够控制所有任务协调一致运行。目前有3种典型的实时系统:过程控制系统(如工业生产自动控制、航空器飞行控制和航天器发射控制)、信息查询系统(如仓库管理系统、图书资料查询系统)和事务处理系统(如飞机或铁路订票系统、银行管理系统)。本题答案为B选项。2、下列叙述中正确的是()。A、地址重定位方式包括静态地址重定位和动态地址重定位B、地址重定位要求程序必须占用连续固定的内存空间C、地址重定位是在程序执行期间进行的D、地址重定位是在程序执行之前进行的标准答案:A知识点解析:地址重定位建立用户程序的逻辑地址与物理地址之间的对应关系,实现方式包括静态地址重定位和动态地址重定位。静态地址重定位是在程序执行之前由操作系统的重定位装入程序完成,程序必须占用连续的内存空间,且一旦装入内存后,程序不便于移动。动态地址重定位在程序执行期间进行,由专门的硬件机构来完成,通常采用一个重定位寄存器,在每次进行存储访问时,将取出的逻辑地址加上重定位寄存器的内容形成物理地址。动态地址重定位的优点是不要求程序装入固定的内存空间,在内存中允许程序再次移动位置,而且可以部分地装入程序运行,同时也便于多个作业共享同一程序的副本。本题答案为A选项。3、设表的长度为15。则在最坏情况下,快速排序所需要的比较次数为()。A、15B、55C、75D、105标准答案:D知识点解析:对长度为n的线性表进行快速排序,最坏情况下需要比较的次数为n(n-1)/2。故对长度为15的线性表进行快速排序,最坏情况下需要比较的次数为15(15-1)/2=105。本题答案为D选项。4、某二叉树的后序遍历序列与中序遍历序列相同,均为ABCDEF,则按层次输出(同一层从左到右)的序列为()。A、ABCDEFB、CBAFEDC、FEDCBAD、DEFCBA标准答案:C知识点解析:二叉树遍通历可以分为3种:前序遍历(访问根结点在访问左子树和访问右子树之前)、中序遍历(访问根结点在访问左子树和访问右子树两者之间)、后序遍历(访问根结点在访问左子树和访问右子树之后),并且在遍历左右子树时也遵循同样的规则。本题中,后序遍历序列与中序遍历序列均为ABCDEF,可确定该二叉树的根结点为F,且每个结点均不存在右子树,因此按层次输出的序列应为FEDCBA。本题答案为C选项。5、循环队列的存储空间为Q(1:200),初始状态为front=rear=200。经过一系列正常的入队与退队操作后,front=rear=1,则循环队列中的元素个数为()。A、1B、2C、199D、0或200标准答案:D知识点解析:循环队列长度为m,初始状态为front=rear=m,此时循环队列为空。现经过一系列入队与退队运算后,front=rear且不为m,此时循环队列为队满或队空,循环队列中的元素个数为0或m。本题答案为D选项。6、数据流图(DFD)中的有向箭头(→)表示()。A、控制流B、数据流C、输入流D、输出流标准答案:B知识点解析:数据流图中的主要图形元素与说明如下表所示。本题答案为B选项。7、代码编写阶段可进行的软件测试是()。A、单元测试B、集成测试C、确认测试D、系统测试标准答案:A知识点解析:单元测试也称模块测试,模块是软件设计的最小单位,单元测试是对模块进行正确性的检验,以期尽早发现各模块内部可能存在的各种错误,通常在编码阶段进行。本题答案为A选项。8、数据模型包括数据结构、数据完整性约束和()。A、查询B、数据类型C、关系运算D、数据操作标准答案:D知识点解析:数据模型通常由数据结构、数据操作及数据约束三部分组成。本题答案为D选项。9、在关系表中,属性值必须是另一个表主键的有效值或空值,这样的属性是()。A、候选键B、外键C、主键D、主码标准答案:B知识点解析:表M中的某属性集是表N的候选键或者主键(主码),则称该属性集为表M的外键或外码。本题答案为B选项。10、现有表示患者和医疗的关系如下:P(P#,Pn,Pg,By),其中P#为患者编号,Pn为患者姓名,Pg为性别,By为出生日期,T(P#,D#,Date,Rt),其中D#为医生编号,Date为就诊日期,Rt为诊断结果。检索在1号医生处就诊的病人姓名的表达式是()。A、πP#(σD#=1(Tr))B、πPn(P)C、πPn(TrP)D、πPn(πP#(σD#=1(Tr))P)标准答案:D知识点解析:检索医生编号为1是选择行,用σ操作;检索患者姓名是选择列(投影),用π操作,则在表达式中应同时存在π和σ,B、C两项错误。A选项最后进行的投影运算检索的是患者编号,不符合题意。本题答案为D选项。11、可以部署Python环境、运行Python脚本的系统是()。A、各操作系统平台B、LinuxC、MacOSD、Windows标准答案:A知识点解析:Python语言是一个跨平台的语言,所以可以运行在各种操作系统上。12、Python的运算符中**的作用是()。A、非法符号B、乘法运算C、操作数取平方D、幂运算标准答案:D知识点解析:**在Python语言中幂运算使用的,如3**2的运算结果是9,代表3的二次方。13、以下选项不是Python合法变量名的是()。A、_maxNumB、EvalC、2nd_tableD、VAL标准答案:C知识点解析:在Python中,变量名的命名规则:以字母或下划线开头,后面跟字母、下划线和数字;不能以数字开头。本题选择C选项。14、表达式str(10/2)的结果是()。A、ValueErrorB、’5.0’C、’5’D、’10/2’标准答案:B知识点解析:str()函数是将参数转化为字符串类型,题目中参数是10/2,计算结果为浮点数5.0,所以转换的结果为’5.0’。15、以下语句的执行结果是()。ls=[x**2forxinrange(5)]print(ls)A、[0,1,4,9,16]B、[2,4,6,8,10]C、[0,2,4,6,8]D、[1,4,9,16,25]标准答案:A知识点解析:本题考核列表生成式,通过for循环迭代0、1、2、3和4这几个数字,然后将这几个数字作为x进行x*2运算,最后将运算的结果存入列表。得到列表[0,1,4,9,16]。16、表达式min({3:7,10:5,1:6})的结果是()。A、6B、1C、5D、{1:6}标准答案:B知识点解析:min()函数返回参数中的最小值,对于字典类型使用字典的键来比较大小,返回值也为字典的键,所以最小的键为1。17、以下语句执行结果是()。s=’HelloWorld’print(s[5::-2])A、drWB、olHC、WleD、loo标准答案:C知识点解析:本题考核的是字符串的切片,步长为负代表从后往前,起始点索引为5即代表从“W”开始切割,结束位置省略,代表切割剩下的所有位置,及从“W”,以步长为2,从后往前进行切割。最后结果为“Wle”18、以下语句执行结果是()。s=’北京,上海,广州,深圳,’print(s.strip(’,’).replace(’,’,’,’))A、北京;上海;广州;深圳;B、北京上海广州深圳C、北京;上海;广州;深圳,D、北京;上海;广州;深圳标准答案:D知识点解析:本题考核的是字符串的操作方法,首先字符串通过strip()方法去除首尾的逗号得到结果为“北京,上海,广州,深圳”,然后通过replace()方法将逗号替换为分号,得到字符串为“北京;上海;广州;深圳”,最后输出即可。19、以下程序的输出结果是()。importstringy1=’a’y2=’asdf’print(y1instring.printable,y2instring.printable)A、FalseTrueB、TrueFalseC、FalseFalseD、TrueTrue标准答案:B知识点解析:string模块的printable是一个字符串包含所有的数字、英文字符和一些特殊字符,内容如下:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\’()*+,-./:;<=>?@[\\]^_`{|}~\t\n\r\x0b\x0c"当进行in操作的时候,进行子串匹配,"a"在printable中,但是"asdf"不在printable中,所以选择B选项。20、以下关于控制结构的描述,错误的是()。A、break也可用于跳出try-except控制块B、break的功能是跳出当前循环控制块C、在for结构中使用continue,会开始遍历下一个元素D、Python的多分支结构里,可以包含多个elif语句标准答案:A知识点解析:break和continue仅适用于循环结构,区别在于break跳出当前循环模块,而continue会继续判断下个条件或遍历下一个元素,所以A选项错误,B、C选项正确;在多分支结构中,elif语句可以有任意个数量,所以D选项正确。21、以下关于随机运算函数库的描述,正确的是()。A、Python的random库通过pip进行安装库B、使用random.random()生成随机数前,必须先用random.seed()函数初始化随机数种子C、random.randint(a,b)产生一个[a,b]之间的随机整数D、random.random(a,b)产生一个[a,b)之间的随机小数标准答案:C知识点解析:random库是Python的标准库,无需安装;使用random库内函数时,seed()函数可以省略,此时将自动以当前时间作为随机数种子;randin(a,b)函数可以产生一个[a,b]之间的随机整数;random()函数没有参数,且只能产生在[0,1)范围内的随机浮点数。22、以下代码的输出结果是()。ls="ab"print("{{}}{:+^4}".format(ls))A、+ab+{}B、{{}}+ab+C、+ab+{{}}D、{}+ab+标准答案:D知识点解析:在format格式化输出中,花括号除了作为槽,也可以作为本身的转义符号用来输出花括号,所以ls应填充如最后一个槽中,也就是{}+ab+。23、执行以下程序,输3.2,然后回车,结果是()。flag=0try:b=eval(input("请输入计算次数:"))print(type(b))except:flag=1print("请输入整数")print(flag)A、请输入整数1B、<class"int">0C、<class"float">0D、<class"float">1标准答案:C知识点解析:观察程序,当输入3.2时,b等于eval("3.2"),也就是3.2,然后打印输出3.2的数据类型,此两句代码不会出现异常,即except模块的语句不会执行,最后打印输出flag即可。24、以下程序的执行结果是()。a=[12,34,56]b=[1,2,3,4]defdispl(a):print(res:’,[a])b=aa.append([5,6])displ(b)A、res:[[12,34,56,[5,6]]]B、res:[12,34,56,5,6]C、res:[[1,2,3,4,[5,6]]]D、res:[12,34,56,5,6]]标准答案:A知识点解析:观察程序,首先创建了两个列表a、b,然后创建了函数displ(),接下来使b绑定a的数据,令a添加一个元素[5,6],因为b是用等于号绑定a的数据,所以此时b的数据为[12,34,56,[5,6]],最后执行函数,函数结果为输出res:[[12,34,56,[5,6]]],所以选择A选项。25、关于Python函数的描述错误的是()。A、函数内部使用的全局变量必须用global声明B、Python支持可选参数传递,但没有默认值的参数必须定义在有默认值参数的左侧C、Python函数可以没有return语句,此时返回值为NoneD、Python函数支持用名称传递参数标准答案:A知识点解析:A选项,函数内部使用全局变量无需声明,只有当需要改变全局变量时才需要声明;B、C和D三个选项均正确。26、以下程序的输出结果是()。deffunc(x=[,y=[6,7]):x.append(8)y.append(8)return(x+y)a,b=[1,2],[3,4]t=func(x=a)t=func(y=b)print(func(),end=";")A、[8,8,6,7,8,8]B、[8,6,7,8,8];C、[8,6,7,8,8]D、[8,8,6,7,8.8];标准答案:D知识点解析:本题考核的是列表的可变性,当列表在使用apeend()等操作时,数据变化,地址不变。题目中程序执行第一次函数func(x=a),x使用参数a的地址,结束时x为[1,2,8],y使用默认参数[6,7]的地址,结束时y为[6,7,8];执行第二次函数func(y=b),x使用默认参数[]的地址,结束时x为[8],y使用参数b的地址,结束时y为[3,4,8];执行第三次函数func(),x使用默认参数地址,此时数据是[8],所以结束时x为[8,8],y使用默认参数地址,此时数据为[6,7,8],结束时y为[6,7,8,8]。此时可以知道返回值为[8,8]+[6,7,8,8]=[8,8,6,7,8,8],所以选择D选项。27、以下程序的输出结果是()。defmysort(ss,flag):ifflag:return(sorted(ss,reverse=True))else:return(sorted(ss,reverse=False))ss=[1,2,4,3]print(mysort(ss,-1))A、[1,2,4,3]B、[3,4,2,1]C、[1,2,3,4]D、[4,3,2.1]标准答案:D知识点解析:本题创建了函数,函数体内利用sorted()函数对形参ss进行排序,排序的方式根据形参flag来确认。程序主体创建列表ss,调用函数mysort(),传入实参ss及-1,根据-1可知,分支语句执行的是if分支,则排序方式按照从大到小进行排序。28、执行以下程序后,要输出46cd44ab结果,该执行的选项是()。ls=["ab","44","cd","46"]ls.reverse()A、print("".join(ls[-1::-1]))B、print("".join(ls))C、print("".join(ls[1:]))D、print("".join(ls[-1:]))标准答案:B知识点解析:题目经过reverse()方法操作后,列表ls的数据为["46","cd","44","ab"),A选项操作ls进行逆序初片,得到的结果为ab44cd46;B选项直接输出ls,得到的结果为46cd44ab;C选项通过切片,从第二个元素开始切割,得到的结果为cd44ab;D选项通过切片,得到的结果为ab。所以选择B选项。29、以下程序的输出结果是()。ss=[2,3,6,9,7,1]foriinss:ss.remove(min(ss))print(min(ss),end=",")A、1,2,3,6,7,9,B、9,7,6,3,2,1,C、2,3,6,D、1,2,3,6,7,9标准答案:C知识点解析:遍历列表ss,当循环执行时,每次删除一个最小的数字,同时打印剩下最小的数字,此时列表的元素数量会发生变化,for循环又是控制循环次数的,所以当执行三次后,元素只剩三个,再想遍历第四个元素,列表已经不能满足了,所以三次的值分别为2,3,6。且print()函数含有参数end那么在每个输出后都得加上",",所以答案为"2,3,6",选C选项。30、以下程序的输出结果是()。dd={’a’:90,’b’:87,’c’:93}print([[dd[x],x]forxinsorted(dd)])A、[[93,’c’],[90,’a’],[87,’b’]]B、[[90,’a’],[87,’b’],[93,’c’]]C、[[87,’b’],[90,’a’],[93,’c’]]D、[[90,a],[87,b],[93,c]标准答案:B知识点解析:观察题目中代码,有字典dd,输出语句print()输出的是一个列表,列表由列表生成式产生,列表中含有多个[dd[x],x]元素,其中x从sorted(dd)中遍历得到,sorted(dd)的值为[’a’,’b’,’c’],代入[dd[x],x]依次计算得到[90,’a’],[87,’b’],[93,’c’],所以选择B选项。31、以下语句的输出结果是()。dd={’chinese’:200,’pe’:187,’Gana’:930}print(sorted(dd.keys()))A、dict_keys([’Gana’,’chinese’,’pe’])B、’Gana’,’chinese’,’pe’C、[’Gana’,’chinese"’,’pe’]D、报错标准答案:C知识点解析:观察题目可以知道sorted()函数排序的数据是dd字典通过keys()方法返回的全部的键,所以从小到大比较三个字符串得到列表[’Gana’,’chinese’,’pe’]。32、以下程序的输出结果不可能的选项是()。importrandomls=["a","b","c","d"]print(ls[int(random.random()*3)])A、"d"B、"a"C、"b"D、"a","b","c"都有可能标准答案:A知识点解析:题目中ls的索引通过random库的random()函数生成,因为random()函数生成在[0,1)(包含0不包含1)的随机浮点数,所以乘三之后范围在[0,3)(包含0不包含3),所以通过int()函数取整之后也不可能等于3,即索引小于3不可能通过索引取得字符串"d"。33、以下关于文件的描述,错误的是()。A、open()函数的打开模式’t’表示以二进制打开文件B、打开文件时,编码方式是可选参数C、fo.seek()函数是设置当前文件操作指针的位置D、open函数的打开模式’a’表示可以对文件进行追加操作标准答案:A知识点解析:open()函数打开模式有多种,’b’代表以二进制形式打开文件,’t’代表以文本文件形式打开文件,’a’代表可以对文件进行追加操作,打开文件时还可以用encoding参数设置编码,在对文件进行操作的时候,指针可以由seek()方法进行控制。34、执行以下程序后,文件a.txt中的内容是()。fo=open("a.txt",’w’)x=[’大学’,’’,’中学’,’’,’小学’]fo.write(’\n’.join(x))fo.close()A、大学\n中学\n小学B、大学中学小学C、’大学’,’\n’,’中学’,’\n’,’小学D、大学中学小学标准答案:D知识点解析:题目中程序将列表x通过join()方法以换行符作连接符拼接,所以得到的字符串为大学\n\n中学\n\n小学,写入文件后展示时,会将换行符自动变为换行。35、以下方法不是python文件操作的选项是()。A、seek()B、socket()C、close()D、readlines()标准答案:B知识点解析:seek()方法是控制文件操作的指针;socket()方法是用来创建套接字不属于文件操作;close()方法是关闭文件;readlines()方法是用来读取文件内容。36、以下关于数据组织的维度,以下选项中描述错误的是()。A、JSON格式能够表达一维数据B、字典类型可以表示具有复杂关系的高维数据C、列表只能表示一维数据D、CSV文件可以用来存储二维数据标准答案:C知识点解析:JSON格式可以表示高维数据也可以表示一维数据;Python中的字典形式类似于JSON格式;列表类型可以表示一维数据,也可以通过多层列表表示二维数据;CSV文件可以用来存储一维数据或二维数据。37、turtle库的控制顺时针转的函数是()。A、penup()B、set()C、right()D、pencolor()标准答案:C知识点解析:penup()函数提起画笔,之后移动画笔不会绘制轨迹;turtle中没有set()函数;right()函数使画笔的指向沿着顺时针方向旋转一定的角度;pencolor()函数设置画笔绘制轨较迹的颜色。38、关于Pyinstaller工具,下列说法正确的是()。A、只能处理UTF-8编码形式的Python源文件B、生成单独的可执行文件时,图片等文件资源不能一并打包到可执行文件中C、不能为生成的可执行文件指定图标D、不能生成带有动态链接库的可执行文件标准答案:A知识点解析:Pyinstaller只能处理UTF-8编码的Python源文件,可以通过spec文件的datas参数设置打包相关资源文件,也可以通过spec文件的binaries参数添加动态链接库,在打包时使用-i参数可以设置打包后的文件图标。39、Python机器学习方向的第三方库是()。A、openpyxlB、tensorflowC、FlaskD、PIL标准答案:B知识点解析:openpyxl是文本处理方向的第三方库;tensorflow是机器学习方向的第三方库;Flask是Web开发方向的第三方库;PIL是图像处理方向的第三方库。40、Python网络爬虫开发方向的第三方库是()。A、DjangoB、TheanoC、scrapyD、Tkinter标准答案:C知识点解析:Django是Web开发方向的第三方库;Theano是机器学习方向的第三方库;scrapy是网络爬虫方向的第三方库;Tkinter是用户图形界面方向的第三方库。二、基本编程题(本题共3题,每题1.0分,共3分。)41、在考生文件夹下有个文件PY101.py,在横线处填写代码,完成如下功能。接收用户输入的一个浮点数,输出这个浮点数的小数部分各字符的和,以10为宽度,靠右显示,采用星号*填充。例如:输入:1234.5678输出:********26##在____________上补充代码#s=input("请输入一个小数:")s=s[::-1]____________forcins:ifc==’.’:____________cs+=eval(c)print(’{____________}’.format(cs))标准答案:s=input("请输入一个小数:")s=s[::-1]cs=0forcins:ifc==’.’:breakcs+=eval(c)print(’{:*>10}’.format(cs))知识点解析:观察文件已有的程序,在循环中出现未定义变量cs,且用了+=操作符,则应在循环外先设置cs变量,且本题计算各位之和,所以cs初始值应设置为0,即第1空填入cs=0;在循环中计算各位之和,当遍历到了小数点,说明小数部分已经全部读取完毕,则退出循环,即第2空填入break;最后根据题目要求对format()方法的槽内的格式字符串进行编写,按顺序依次为引导符号“:”,填充字符“*”,对齐方式居中“>”,填充宽度“10”,即第3空应填入:*>10。42、在考生文件夹下有个文件PY102.py,在横线处填写代码,完成如下功能。time库是Python语言中与时间处理相关的标准库,time库中ctime()函数能够将一个表示时间的浮点数变成人类可以理解的时间格式,示例如下:importtimeprint(time.ctime(1519181231.0))输出结果是:WedFeb2110:47:112018请获得用户输入时间,提取并输出其中的小时信息。以上述时间为例,应输出10。##在____________上补充代码#importtimet=input("请输入一个浮点数时间信息:")s=time.ctime(____________)ls=s.split()print(____________)标准答案:importtimet=input("请输入一个浮点数时间信息:")s=time.ctime(eval(t))ls=s.split()print(ls[3].split(’:’)[0])知识点解析:当用户输入浮点数时,程序需要将此浮点数转化为对应的时间字符串,所以第i空填eva1(t),接下来用split()方法通过空格切割字符串得到列表ls,其中第4个元素是“xx:yy:zz”这种形式,所以需要再次利用split()方法切割,并输出第1个元素,即第2空应填入ls[3].split(’:’)[0]。43、在考生文件夹下有个文件PY103.py,在横线处填写代码,完成如下功能。以26个小写字母和0~9数字为基础,以用户输入的数字为种子,随机生成10个8位密码,并将每个密码在单独一行打印输出。例如:输入:125输出:Potlwjtaej460gqsk515jdr81blked1fy37c4mhx1oa18pv5pz6r37t7xegd1q1312w0ksh6pxuybhp9##在____________上补充代码#importrandoms=input("请输入随机种子:")ls=[]foriinrange(26):ls.append(chr(ord(’a’)+i))foriinrange(10):ls.append(chr(____________))random.seed(____________)foriinrange(10):forjinrange(8):print(____________,end=’’)print()标准答案:importrandoms=input("请输入随机种子:")ls=[]foriinrange(26):ls.append(chr(ord(’a’)+i))foriinrange(10):ls.append(chr(ord(’0’)+i))random.seed(eval(s))foriinrange(10):forjinrange(8):print(ls[random.randint(0,35)],end=’’)print()知识点解析:题目要求输出随机生成10个8位密码,且随机选择26个小写字母和0~9数字。观察已有代码,可以看出列表ls存储的数据是26个小写字母和0~9数字,并且根据生成26个字母的第一个循环可以看到,程序中以小写字母“a”的编码为基数,循环增加编码,并通过chr()函数将编码循环转化为对应的字母,利用此种方式可知,第1空执行的代码效果应以“0”的编码为基数,循环增加编码,即应填入ord(’0’)+i;第2空设置随机数种子,题目要求根据用户输入,确定随机数种子,且种子需要是数字类型,所以第2空应填入eva1(s);第3空是输出对应的随机数,通过外层循环控制,输出的密码个数,内层循环控制每个密码的长度,所以第3空需要从列表ls中随机选择字符,可以采用索引取值的方式,即ls[random.randint(0,35)]。三、简单应用题(本题共2题,每题1.0分,共2分。)44、在考生文件夹下有个文件PY201.py,在横线处填写代码,完成如下功能。利用random库和turtle库,在屏幕上绘制3个黑色的正方形,正方形的左下角点坐标和正方形边长由randint()函数产生,参数在代码中给出。效果如下图所示。##在____________上补充代码#请不要修改其他代码#importturtleastimportrandomasrr.seed(1)t.pensize(2)foriinrange(3):length=r.____________(20,80)x0=r.randint(-100,100)y0=r.randint(-100,100)t.penup()t.goto(____________)t.____________forjinrange(4):t.____________(length)t.____________(90*(j+1))t.done()标准答案:importturtleastimportrandomasrr.seed(1)t.pensize(2)foriinrange(3):length=r.randint(20,80)x0=r.randint(-100,100)y0=r.randint(-100,100)t.penup()t.goto(x0,y0)t.pd()forjinrange(4):t.fd(length)t.seth(90*(j+1))t.done()知识点解析:本题要求生成随机边长、位置的三个正方形,且边的颜色为黑色,观察已有代码,外层循环随机生成边长、坐标位置,即第1空填入randint,第2空填入x0,y0;因为内层循环要开始绘制,所以画笔需要放下,即第3空填入pd();内层循环先绘制,再旋转角度,且角度是循环递增的,即应采用绝对角度旋转,所以第4空填入fd,第5空填入seth。45、在考生文件夹下有个文件PY202.py,在省略号处填写一行或多行代码,完成如下功能。同时,在考生文件夹下有个文件out.txt,其中有一些数据库操作功能的执行时间信息,如下所示:Starting0.0000372.102Afteropeningtables0.0000080.455Systemlock0.0000040.227Tablelock0.0000080.455…其中第1列是操作的名字,第2列是操作所花费的时间,单位是秒,第3列是操作时间占全部过程的百分比,字段之间用逗号’,’隔开。修改考生文件夹下的文件PY202.py,读取out.txt文件里的内容,统计所有操作所花费的时间总和,并输出操作时间百分比最多的三个操作所占首分比的值,及其对应的操作名称,显示在屏幕上,如下所示:thetotalexecutetimeis0.0017thetop0percentagetimeis46.023,spentin"Fillingschematable"operation…#请在……处填写多行表达式或语句#请在_____处填写一行表达式或代码#不得修改其他代码sumtime=0percls=[]ts={}withopen(’out.txt’,’r’)asf:…print(’thetotalexecutetimeis’,sumtime)tns=list(ts.items())tns.sort(key=lambdax:x[1],reverse=True)foriinrange(3):print(’thetop{}percentagetimeis{},spentin"{}"operation’.format(i,tns[i][1],tns[i][0]))标准答案:sumtime=0percls=[]ts={}withopen(’out.txt’,’r’)asf:foriinf:i=i.strip().split(’,’)ts[i[0]]=eval(i[2])sumtime+=eval(i[1])print(’thetotalexecutetimeis’,sumtime)tns=list(ts.items())tns.sort(key=lambdax:x[1],reverse=True)foriinrange(3):print(’thetop{}percentagetimeis{},spentin"{}"operation’.format(i,tns[i][1],tns[i][0]))知识点解析:观察题目,要求将文件中的内容读取并处理按照一定格式输出,已有代码给出了全部的输出语句,所以with结构内主要是处理文件读取的数据,通过for循环直接遍历文件对象f,将读取到的数据去除空白符,并通过逗号分隔,得到一个列表,将列表的第1项作为键,第3项作为值存储到字典当中,得到一个存储操作名和操作时间百分比的字典,因为后续需要根据操作时间百分比的大小排序,所以第3项需要转化为数字类型。下面将列表的第2项转换成数字类型,累加得到全部的运行时间。四、综合应用题(本题共2题,每题1.0分,共2分。)考生文件夹下存在2个Python源文件和1个文本文件,分别对应2个问题,其中,文本文件“八十天环游地球.txt”是法国作家儒勒·凡尔纳《八十天环游地球》长篇小说的网络版本,请修改源文件实现以下功能。46、问题1:提取章节题目并输出到文件。要求,在PY301-1.py中补充代码,提取“八十天环游地球.txt”中所有章节的题目,并且将提取后的题目输出到“八十天环游地球.章节.txt”文件中,每行一个标题,示例如下:第一章斐利亚·福克和路路通建立主仆关系…(略)#请在……处填写多行表达式或语句#可以修改其他代码f=open("八十天环游地球.txt")……f.close()标准答案:f=open("八十天环游地球.txt")fo=open("八十天环游地球-章节.txt",’w’)foriinf:line=i.strip().split()ifline[0][0]=="第"and"章"inline[0]:fo.write(i)fo.close()f.close()知识点解析:本题需要提取出章节题目并输出到文件中,观察文件可以发现章节名与章节序号中间都含有一个空格,如第一章和斐利亚·福克和路路通建立主仆关系,且章节名都是单独一行,所以可利用空格切割每行数据并且对切割过后的第一个元素进行判断,只要第一个字是“第”,且章也在第一个元素中,那么就代表此行是章节名,就写入文件,最后检查文件,皆为章节名。47、问题2:统计每章节的高频词并打印输出。要求:在PY301-2.py中补充代码,统计“八十天环游地球.txt”中每一章的标题和内容中,出现次数最多的词语(词语长度不少于2个字符)及其次数,输出格式为章节名、词语及其出现的次数,以空格分隔,示例如下:第一章斐利亚21第二章路路通12…(略)标准答案:importjiebaf=open("八十天环游地球.txt")datas=f.readlines()l=[]foriinrange(len(datas)):line=datas[i].split(’’)ifdatas[i][0]=="第"and"章"inline[0]:l.append(i)foriinrange(len(l)):ifi!=len(l)-1:data=’’.join(datas[l[i]:l[i+1]])else:data=’’.join(datas[l[i]:])s=data.split()[0]words=jieba.lcut(data)d={}foryinwords:iflen(y)<2:continued[y]=d.get(y,0)+1lis=list(d.items())lis.sort(key=lambdax:x[1],reverse=True)print(s,lis[0][0],lis[0][1])f.close()知识点解析:本题需要将各章的内容进行分词,并统计每章出现次数最多的词汇并输出,首先利用与第一题类似代码先将每章所处的行数计算出来存储到列表l当中,然后遍历列表l的长度,i也就是1的索引,那么l[i]这个数字也就代表章节名所在的行数,判断i是否为最后一次循环的取值,不是那么便利用join方法拼接datas列表此行与下一个索引所代表的行数之间的全部字符串;是的话便代表剩下的字符串全部为最后一章的内容,便直接拼接剩下的全部内容,这样在每次循环中便会生成一个章书内容的字符串,对这个章节内容进行分词并利用字典进行计数,通过循环遍历words,长度小于2的,利用continue舍弃掉,用d[y]=d.get(y,0)+1进行词频统计。接下来需将字典d的数据取出并排序,通过list(d.items()方法转换成列表,再利用列表的sort()方法以内部元组的第2个元素排序,此元素即代表词汇的次数,按照题目要求输出最大次数的词汇,最后每次外层循环输出一个章节最大的词汇及数量,循环结束再使用c1ose方法关闭文件即可。国家二级(Python)机试模拟试卷第2套一、单项选择题(本题共37题,每题1.0分,共37分。)1、允许多个联机用户同时使用一台计算机系统进行计算的操作系统属于()。A、布式操作系统B、实时操作系统C、批处理操作系统D、分时操作系统标准答案:D知识点解析:允许多个联机用户同时使用一台计算机系统进行汁算的操作系统称为分时操作系统。分时操作系统把中央处理器的时间划分成时间片,轮流分配给每个联机终端用户,每个用户只能在极短时间内执行,若程序未执行完,则等待分到下次时间片时再执行。这样,系统的每个用户的每次要求都能得到快速响应,且用户感觉好像自己独占计算机。本题选择D选项。2、在执行指令过程中,CPU不经过总线能直接访问的是()。A、寄存器B、寄存器和内存C、寄存器、内存和外存D、输入/输出设备标准答案:A知识点解析:计算机中CPU通过总线与内存、外设等连接。本题选择A选项。3、下列叙述中正确的是()。A、在循环队列中,队尾指针的动态变化决定队列的长度B、在循环队列中,队头指针和队尾指针的动态变化决定队列的长度C、在带链的队列中,队头指针与队尾指针的动态变化决定队列的长度D、在带链的栈中,栈顶指针的动态变化决定栈中元素的个数标准答案:B知识点解析:带链的队列和带链的栈均采用链式存储结构。链式存储的存储单元是不连续的,因为是不连续的存储空间,所以指针将不会有规律地连续变化,C、D两项错误。在循环队列中,队头指针和队尾指针的动态变化决定队列的长度,B选项正确,A选项错误。本题选择B选项。4、设栈的存储空间为S(1:60),初始状态为top=61。现经过一系列正常的入栈与退栈操作后,top=1,则栈中的元素个数为()。A、0B、59C、60D、1标准答案:C知识点解析:栈的存储空间为S(1:60),初始状态为top=61,即栈的初始状态为空。当第一个元素进栈后,top=60,第二个元素进栈后,top=59,第三个元素进栈后,top=58,以此类推。当top=1时,共有60个元素入栈。本题选择C选项。5、设顺序表的长度为n。下列排序方法中,最坏情况下比较次数小于n(n-1)/2的是()。A、堆排序B、快速排序C、简单插入排序D、冒泡排序标准答案:A知识点解析:最坏情况下比较次数:堆排序为nlog2n,快速排序为n(n-1)/2,简单插入排序为n(n-1)/2,冒泡排序为n(n-1)/2。本题选择A选项。6、下面属于系统软件的是()。A、人事管理系统B、WPS编辑软件C、杀毒软件D、Oracle数据库管理系统标准答案:D知识点解析:系统软件是管理计算机的资源,提高计算机的使用效率,为用户提供各种服务的软件,如操作系统、数据库管理系统、编译程序、汇编程序和网络软件等。应用软件是为了应用于特定的领域而开发的软件,A、B和C三个选项属于应用软件。本题选择D选项。7、下面不属于白盒测试方法的是()。A、语句覆盖B、边界值分析C、条件覆盖D、分支覆盖标准答案:B知识点解析:白盒测试的主要技术有逻辑覆盖测试、基本路径测试等。其中,逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖。边界值分析属于黑盒测试。本题选择B选项。8、关系数据库中的键是指()。A、关系的专用保留字B、关系的名称C、能唯一标识元组的属性或属性集合D、关系的所有属性标准答案:C知识点解析:在关系模式中凡能唯一标识元组的最小属性集称为该关系的键或码。本题选择C选项。9、在数据库中,产生数据不一致的根本原因是()。A、数据冗余B、没有严格保护数据C、未对数据进行完整性控制D、数据存储量太大标准答案:A知识点解析:由于数据冗余,有时修改数据时,一部分数据修改,而另一部分没有修改,造成同一种数据有多个值,产生数据不一致。本题选择A选项。10、某图书集团数据库中有关系模式R(书店编号,书籍编号,库存数量,部门编号,部门负责人),其中要求:(1)每个书店的每种书籍只在该书店的一个部门销售;(2)每个书店的每个部门只有一个负责人;(3)每个书店的每种书籍只有一个库存数量。则关系模式R最高是()。A、1NFB、2NFC、3NFD、BCNF标准答案:B知识点解析:本题中,(书店编号,书籍编号)→部门编号,(书店编号,部门编号)→部门负责人,(书店编号,书籍编号)→库存数量,可确定关系模式R的主键为(书店编号,书籍编号)。这样就存在着非主属性“部门负责人”对主键(书店编号,书籍编号)的传递函数依赖,不满足第三范式(3NF),所以关系模式R最高是第二范式(2NF)。本题选择B选项。11、以下关于程序设计语言的描述,错误的选项是()。A、Python解释器把Python代码一次性翻译成目标代码,然后执行B、机器语言直接用二进制代码表达指令C、Python是一种通用编程语言D、汇编语言是直接操作计算机硬件的编程语言标准答案:A知识点解析:Python属于脚本语言,脚本语言采用解释方式执行。解释执行是将源代码逐条转换成同时逐条运行的过程,不是一次性翻译的。本题选择A选项。12、以下关于Python程序语法元素的描述,正确的选项是()。A、缩进格式要求程序对齐,增添了编程难度B、Python变量名允许以数字开头C、true是Python的关键字D、所有的if、while、def、class语句后面都要用冒号结尾标准答案:D知识点解析:缩进格式要求程序对齐,清晰、简明地表示了语句的所属关系;Python的标识学采用大写字母、小写字母、数字、下划线及汉字等字符及其组合进行命名,但标识符的首字符不能是数字,中间不能出现空格,长度没有限制;Python的关键字大小写敏感,True是关键字,但true不是关键字。本题选择D选项。13、以下选项,不是Python关键字的选项是()。A、fromB、sumC、finallyD、None标准答案:B知识点解析:关键字也称保留字,是编程语言内部定义并保留使用的标识符。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、with、while、yield。本题选择B选项。14、表达式divmod(40,3)的结果是()。A、13,1B、(13,1)C、13D、1标准答案:B知识点解析:divmod(x,y)函数用来计算x和y的除余结果。返回两个值,分别是x与y的整数除,即x//y,以及x与y的余数,即x%y。返回的两个值组成了一个元组类型,即圆括号包含的两个元素(x//y,x%y)。表达式divmod(40.3)的结果为40//3=13、40%3=1。本题选择B选项。15、以下关于字符串类型的操作的描述,正确的是()。A、想把一个字符串str所有的字符都大写,用upper(str)B、设x='aaa',则执行x/3的结果是'a'C、想获取字符串str的长度,用字符串处理函数len(str)D、str.isnumeric()方法把字符串str中数字字符变成数字标准答案:C知识点解析:将字符串str所有的字符都大写的方法是str.upper(),A选项不正确;x为字符串类型,字符串类型不能进行除法运算,B选项不正确;isnumeric()方法用于检测字符串是否只由数字组成,如果字符串中只包括数字,就返回Ture,否则返回False,D选项错误;len()函数用于返回字符串的长度,要想获取字符串str的长度,其语法格式为len(str)。本题选择C选项。16、设str1='*@python@*',语句print(str1[2:].strip('@'))的执行结果是()。A、python@*B、python*C、*@python@*D、*python*标准答案:A知识点解析:str1[2:]表示对字符串str1进行切片,即从索引为2的字符开始切片直到字符串结尾(字符串最左侧的字符索引为0),其结果为python17、执行以下程序,输出结果是()。y='中文'x='中文字'print(x﹥y)A、NoneB、FALSEC、FalseorFalseD、TRUE标准答案:D知识点解析:在Python中比较两个字符串的大小,要从第1个字符开始比较,只要比较出了大小就结束。本题中,变量x和y的前两个字符相同,但y没有第3个字符,所以x大,则表达式x﹥y的结果为True。本题选择D选项。18、以下关于“for<循环变量>in<循环结构>”的描述,错误的是()。A、<循环结构>采用[1,2,3]和['1','2','3']的时候,循环的次数是一样的B、这个循环体语句中不能有break语句,会影响循环次数C、使用range(a,b)函数指定for循环的循环变量取值范围是a~b-1D、foriinrange(1,10,2)表示循环5次,i的值是1~9的奇数标准答案:B知识点解析:for语句的循环执行次数是根据<循环结构>中元素的个数确定的。[1,2,3]和['1','2','3']均有3个元素,因此循环次数是一样的。A选项正确。range()函数只有1个参数时表示会产生从0开始计数到输入参数的前一位整数结束的整数列表;有2个参数时,则将第1个参数作为起始位,第2个参数为结束位,输出从起始位到结束位的前一位的整数列表;有3个参数时,第3个参数表示步长,起始位按照步长递增或递减,因此选项C、D正确。循环体中的break语句影响循环次数,但是不代表循环体中不能有break语句,B选项错误。本题选择B选项。19、执行以下程序,输入“fish520”,输出结果是()。w=input()forxinw:if'0'<x<='9':continueelse:w.replace(x,")print(w)A、fishB、fish520C、520D、520fish标准答案:B知识点解析:replace()方法的语法格式为str.replace(old.new[,max]。功能是把字符串中的old(旧字符串)替换成new(新字符串),返回一个新的字符串。如果指定第3个参数max,则替换不超过max次。本题中,for循环执行后,将依次返回新的字符串ish520、fsh520、fis520。并不影响w,程序执行print(w)后输出fish520。本题选择B选项。20、执行以下程序,导致输出“输入有误”的输入选项是()。try:ls=eval(input())*2print(ls)except:print('输入有误')A、'aa'B、'12'C、aaD、12标准答案:C知识点解析:无论用户输入的是字符还是数字,input()函数统一按照字符串类型输出。当输入aa时,以字符串类型'aa'返回;然后eval()函数处理字符串'aa',去掉其两侧的引号,将其解释为一个变量。由于之前没有定义过该变量,因此解释器报错,输出“输入有误”。本题选择C选项。21、以下关于组合类型的描述,正确的是()。A、空字典可以用花括号来创建B、可以用set创建集合,用方括号和赋值语句增加新元素C、字典数据类型里可以用列表做键D、字典的items()函数返回一个键值对,并用元组表述标准答案:A知识点解析:集合中可以使用add()方法增加新元素,不能使用方括号来添加,B项错误;字典数据类型必须用不可变的元素作为键,而列表是可变的,不能作为键,C选项错误;字典的items()函数返回的是所有键值对,D选项错误。本题选择A选项。22、以下程序的输出结果是()。s=0deffun(s,n):foriinrange(n):s+=iprint(fun(s,5))A、10B、NoneC、0D、UnboundLocalError标准答案:B知识点解析:本题中函数体内没有return语句,即无返回值,所以默认返回None。则输出结果为None。本题选择B选项。23、以下关于函数的描述,正确的是()。A、自己定义的函数名不能与Python内置函数同名B、函数一定要有输入参数和返回结果C、在一个程序中,函数的定义可以放在函数调用代码之后D、使用函数可以提高代码复用性,还可以降低维护难度标准答案:D知识点解析:自己定义的函数可以与内置函数同名,当调用此函数时会先调用自己定义的函数;函数可以没有输入参数和返回结果;Python程序是自上而下执行的,函数的定义应放在函数调用之前,否则会报错。本题选择D选项。24、以下程序的输出结果是()。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选项。25、以下程序的输出结果是()。l1=['aa',[2,3,3.0]]print(11.index(2))A、2B、3.0C、3D、ValueError标准答案:D知识点解析:列表的index()方法用于从列表中找出某个对象第一个匹配项的索引,如果这个对象不在列表中会报一个异常。本题中l1.index(2)是指在列表l1中查找对象2,但列表中并不存在元素2,因此会异常。本题选择D选项。26、以下程序的输出结果是()。foriin"Nation”:forkinrange(2):ifi=='n':breakprint(i,end="")A、aattiiooB、NnaattiiooC、NaattiioonD、aattiioonn标准答案:B知识点解析:在Python中,字母大小写是敏感的,“N”和“n”是不同的字符。本题中,有两层for循环,即每个字符要输出两次,直到i=='n'时,跳出循环,执行输出语句。本题选择B选项。27、以下程序的输出结果是()。x=[90,87,93]y=("Aele","Bob","lala")z={}foriinrange(len(x)):z[i]=list(zip(x,Y))print(z)A、{0:[(90,'Aele'),(87,'Bob'),(93,'lala')],1:[(90,'Aele'),(87,'Bob'),(93,'lala')],2:[(90,'Aele'),(87,'Bob'),(93,'lala')]}B、{0:(90,'Aele'),1:(87,'Bob'),2:(93,'lala')}C、{0:[90,'Aele'],1:[87,'Bob'],2:[93,'lala']}D、{0:([90,87,93],('Aele','Bob','lala')),1:([90,87,93],('Aele','Bob','lala')),2:([90,87,93],('Aele','Bob','lala'))}标准答案:A知识点解析:zip()是Python的一个内建函数。它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。本题中,x为列表类型,y为元组类型。zip(x,y)返回的结果为[(90,'Aele'),(87,'Bob'),(93,'lala')]。for循环中i的值依次为0、1、2,因此z(字典类型)的值为{0:[(90,'Aele'),(87,'Bob'),(93,lala')],1:[(90,'Aele'),(87,'Bob'),(93,'lala')],2:[(90,'Aele'),(87,'Bob'),(93,'lala')]}。本题选择A选项。28、以下程序的输出结果是()。ss=set("htslbht")sorted(ss)foriinss:print(i,end=")A、hlbstB、htslbhtC、tsblthD、hhlstt标准答案:A知识点解析:set()函数将其他的组合数据类型变成集合类型,返回结果是一个无重复且排序任意的集合。因此,ss=set("htslbht")的返回值是一个类似于{'h','l','b','s','t'}的集合,然后将其赋值给ss。方法sorted(ss)的返回值是对ss进行排序后的结果,即执行sorted(ss)后,ss的值并没有改变,最后仍输出hlbst。本题选择A选项。29、以下程序的输出结果是()。ls1=[1,2,3,4,5]ls2=ls1ls2.revere()print(ls1)A、5,4,3,2,1B、[1,2,3,4,5]C、[5,4,3,2,1]D、1,2,3,4,5标准答案:C知识点解析:在Python中,列表对象的赋值就是简单的对象引用。本题中,ls1和ls2指向同一片内存。ls2是ls1的别名,是引用ls1。对ls2做修改,ls1也会跟着变化。ls2.reverse()是指将列表ls2中的元素反转,结果为[5,4,3,2,1],则ls1的值也为[5,4,3,2,1]。本题选择C选项。30、为以下程序填空,使得输出结果是{40:'yuwen',20:'yingyu',30:'shuxu'}的选项是()。tb={'yingyu':20,'shuxue':30,'yuwen':40}stb={}foritintb.items():print(it)________________print(stb)A、sth[it[1]]=it[0]B、stb[it[1]]=stb[it[0]]C、stb[it[1]]=tb[it[1]]D、D.stb[it[1]]=tb[it[0]]标准答案:A知识点解析:分析题目及程序代码可知,题意是将字典中的键值互换。tb.items()以列表形式(并非直接的列表,若要返回列表值还需调用list()函数)返回可遍历的(键,值)元组数组。for循环中it每次遍历得到的是一个元组,依次为('yingyu',20)、('shuxue',30)、('yuwen',40),然后将元组中索引为0的元素和索引为1的元素互换位置,实现字典中键值的互换,应填入stb[it[1]]=it[0]。本题选择A选项。31、以下关于文件的描述,错误的是()。A、open()打开一个文件,同时把文件内容装入内存B、open()打开文件后,返回一个文件对象,用于后续的文件读/写操作C、当文件以二进制方式打开的时候,是按字节流方式读写D、write(x)函数要求x必须是字符串类型,不能是int类型标准答案:A知识点解析:如果文件只被打开,文件内容是不会装入内存的。只有执行读取操作的时候才会把文件内容相应的长度内容(在read()函数中指定读取的字节长度)装入内存。本题选择A选项。32、给以下程序填空,使得输出到文件“a.txt”里的内容是'90','87','93'的是()。y=['90','87','93']l="withopen("a.txt",'w')asfo:forziny:________________fo.write(l.strip(','))A、l=','.join(y)B、l+="'{}'".format(z)C、l+="'{}'".format(z)+','D、I+='{}'.format(z)+','标准答案:C知识点解析:由题意可知,写入文件的是90、87、93,字符之间用逗号分隔。A选项是将字符通过逗号连接成形如'90,87,93'的字符串;B选项没有使用逗号分隔;D选项由于在花括号({})外部没有使用引号,相加的结果为"90,87,93"。本题选择C选项。33、以下关于数据维度的描述,错误的是()。A、列表的索引是大于0小于列表长度的整数B、JSON格式可以表示比二维数据还复杂的高维数据C、二维数据可以看成多条一维数据的组合形式D、CSV文件既能保存一维数据,也能保存二维数据标准答案:A知识点解析:列表的索引也可以是负整数,如1[-1]就代表列表l的最后一个元素。本题选择A选项。34、以下不属于Python的pip工具命令的选项是()。A、showB、installC、-VD、download标准答案:C知识点解析:pip工具常用的命令有安装(install)、下载(downloa35、用Pyinstaller工具打包Python源文件时,-F参数的含义是()。A、指定所需要的第三方库路径B、在dist文件夹中只生成独立的打包文件C、指定生成打包文件的目录D、删除生成的临时文件标准答案:B知识点解析:-F是指在dist文件夹中只生成独立的打包文件(即EXE文件),所有的第三方依赖、资源和代码均打包进此EXE文件中。本题选择B选项。36、第三方库beauifulsoup4的功能是()。A、解析和处理HTML和XMLB、支持Web软件框架C、支持WebServices框架D、处理HTTP请求标准答案:A知识点解析:第三方库beautifulsoup4用于解析和处理HTML和XML。它最大的优点是能根据HTML和XML语法建立解析树,进而高效解析其中的内容。本题选择A选项。37、以下关于turtle库的描述,错误的是()。A、在importturtle之后,可以用turtle.circle()语句画一个圆圈B、seth(x)是setheading(x)函数的别名,让画笔旋转x度C、可以用importturtle来导入turtle库函数D、home()函数设置当前画笔位置到原点,方向朝上标准答案:D知识点解析:turtle库的home()函数是设置当前画笔位置为原点,方向向东。本题选择D选项。二、基本编程题(本题共3题,每题1.0分,共3分。)38、考生文件夹下存在一个文件“PY101.py”,请写代码替换横线,不修改其他代码,实现以下功能。用键盘输入正整数n,按要求把n输出到屏幕。格式要求:宽度为15个字符,数字右边对齐,不足部分用星号填充。例如:用键盘输入正整数n为1234,屏幕输出***********1234试题程序:#请在________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码n=eval(input("请输入正整数:"))print("{________}".format(n))标准答案:n=eval(input("请输入正整数:"))print("{:*﹥15}".format(n))知识点解析:该题目主要考查Python字符串的格式化方法。Python推荐使用format()格式化方法,其语法格式如下:<模板字符串>.format(<逗号分隔的参数>)其中,“模板字符串”是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用花括号({})表示,对应format()方法中逗号分隔的参数。如果模板字符串中有多个槽,可以通过format()参数的序号在模板字符串槽中指定参数,参数从0开始编号。例如:"{o}曰:学而不思则罔,思而不学{1}。".format("孔子","则殆")其结果:'孔子曰:学而不思则罔,思而不学则殆。'format()方法的槽除了包括参数序号,还可以包括格式控制信息,语法格式如下:{<参数序号>:<格式控制标记>}其中,格式控制标记包括<填充><对齐><宽度><,><.精度><类型>6个字段,由引导符号(:)作为引导标记,这些字段都是可选的,可以组合使用。<填充>:用于填充的单个字符。<对齐>:分别使用<、>及^表示左对齐、右对齐及居中对齐。<宽度>:设定当前槽的输出字符宽度。<,>:用于显示数字类型的千位分隔符。<.精度>:由小数点(.)开头,对于浮点数,精度表示小数部分输出的有效位数;对于字符串,精度表示输出的最大长度。<类型>:表示输出整数和浮点数类型的格式规则。本题的格式要求:宽度为15个字符,数字右边对齐,不足部分用星号填充,模板字符串为{:*﹥15}。划线的空格处应填入{:*﹥15}。39、考生文件夹下存在一个文件“PY102.py”,请写代码替换横线,不修改其他代码,实现以下功能。a和b是两个长度相同的列表变量,列表a为[3,6,9]已给定,用键盘输入列表b,计算a中元素与b中对应元素的和形成新的列表c,在屏幕上输出。例如:用键盘输入列表b为[1,2,3],屏幕输出计算结果为[4,8,12]试题程序:#请在________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码a=[3,6,9]b=eval(input())#例如:[1,2,3]c=[]foriinrange(________(1)________):c.append(________(2)________)print(c)标准答案:a=[3,6,9]b:eval(input())#例如:[1,2,3]c=[]foriinrange(3):c.append(a[i]+b[i])print(c)知识点解析:a和b是两个长度相同的列表变量,a中有3个元素,则b中也有3个元素,a中元素与b中对应元素的和则为a[i]+b[i],则第2空应填写a[i]+b[i]。列表中元素的索引从0开始,因此for循环中i的值应分别为0、1、2。第1空应填入3。40、考生文件夹下存在一个文件“PY103.py”,请写代码替换横线,不修改其他代码,实现以下功能。以0为随机数种子,随机生成5个在1(含)~97(含)的随机数,计算这5个随机数的平方和。试题程序:#请在________处使用一行代码或表达式替换#注意:请不要修改其他已给出代码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()

温馨提示

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

评论

0/150

提交评论