湖南省岳阳市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第1页
湖南省岳阳市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第2页
湖南省岳阳市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第3页
湖南省岳阳市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第4页
湖南省岳阳市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

湖南省岳阳市全国计算机等级考试Python语言程序设计重点汇总(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.以下保留字不用于循环逻辑的是()。

A.tryB.elseC.forD.continue

2.一个模块直接调用的下层模块的数目称为模块的()。

A.扇入数B.扇出数C.宽度D.作用域

3.以下保留字不属于分支或循环逻辑的是()。

A.elifB.doC.forD.while

4.在数据管理的3个阶段中,数据共享最好的是()。

A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.3个阶段相同

5.在Python语言中,写文件操作时定位到某个位置所用到的函数是()。

A.write()B.writeall()C.seek()D.writetext()

6.下列数据结构中,能够按照“先进后出”原则存取数据的是()。

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

7.执行以下代码的结果是?intx=-3;inty=-10;System.out.println(y%x);A.-1B.2C.1D.3

8.以下关于文件的描述中,错误的是()。

A.文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容

B.可以使用open()打开文件,用close()关闭文件

C.使用read()可以从文件中读入全部文本

D.使用readlines()可以从文件中读入一行文本

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

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

10.下面代码的输出结果是()。deff(n):ifn==1:return1else:returnn*f(n—1)print(f(4))

A.24B.4C.0D.10

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

A.Python分支结构使用保留字if、elif和else来实现,每个if后面必须有elif或else

B.if-else结构是可以嵌套的

C.if语句会判断if后面的逻辑表达式,当表达式为真时,执行if后续的语句块

D.缩进是Python分支语句的语法部分,缩进不正确会影响分支功能

12.在读/写文件之前,需要打开文件,使用的函数是()。

A.readB.fopenC.openD.CFile

13.以下不属于Python保留字的是()。

A.passB.useC.withD.None

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

A.循环链表中至少有一个结点B.双向链表有两个头指针C.双向链表有两个头结点D.循环链表是循环队列的链式存储结构

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

A.Python的整数类型有长度限制,超过上限会产生溢出错误

B.Python中采用严格的“缩进”来表明程序格式,不可嵌套

C.Python中可以用八进制来表示整数

D.Python的浮点数类型没有长度限制,只受限于内存的大小

16.以下程序的输出结果是()。n=2deff(a): n=bool(a-2) returnnb=f(2)print(n,b)

A.20B.0TrueC.2FalseD.0False

17.以下关于Python中try语句的描述中,错误的是()。

A.try用来捕捉执行代码发生的异常,处理异常后能够回到异常处继续执行

B.当执行try代码块触发异常后,会执行except后面的语句

C.一个try代码块可以对应多个处理异常的except代码块

D.try代码块不触发异常时,不会执行except后面的语句

18.假设现在是2018年10月1日的下午2点20分7秒,则下面程序的输出结果为()。importtimeprint(time.strftime(“%y-%m-%d@%Y-%M-%D”,time.gmtime()))

A.2018-10-1@14-20-7

B.2018-10-1@14-20-07

C.2018-10-01@-14-20-07

D.True@True

19.以下关于数据组织的描述中,错误的是()。

A.—维数据采用线性方式组织,可以用Python集合或列表表示

B.列表仅用于表示一维和二维数据

C.二维数据采用表格方式组织,可以用Python列表表示

D.更高维数据由键值对类型的数据构成,可以用Python字典表示

20.下列的说法中,不正确的是()

A.迭代器协议是指:对象必须提供一个next方法

B.list、dict、str虽然是Iterable,却不是Iterator

C.生成器与迭代器对象的区别在于:它仅提供next()方法

D.生成器实现了迭代器协议,但生成器是边计算边生成达到节省内存及计算资源

21.下面程序输出的结果是()。sl,s2=”Mom”,””Dad"Print(“{}loves{}format(s2,si))

A.DadlovesMomB.MomlovesDadC.sllovess2D.s2lovess1

22.在Python中,使用for—n…方式形成的循环不能遍历的类型是()。

A.列表B.复数C.字符串D.字典

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

A.While循环只能用来实现无限循环

B.所有的for分支都可以用while循环改写

C.保留字break可以终止一个循环

D.continue可以停止后续代码的执行,从循环的开头重新执行

24.不能使下面程序结束的是()。whileTrue: inp=eval(input(“请输入一个数值:”)) ifinp//3: break

A.2B.3C.4D.5

25.以下程序的输出结果是()。try:print((3+4j)*(3-4j))except:print(”运算错误!!”)

A.(25+0j)B.5C.运算错误!!D.3

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

A.找是“先进先出”的线性表

B.队列是“先进后出”的线性表

C.循环队列是非线性结构

D.有序线性表既可以釆用顺序存储结构,也可以采用链式存储结构

27.循环队列的存储空间为Q(0:59),初始状态为空。经过一系列正常的入队与退队操作后,front=25,rear=24。循环队列中的元素个数为()。

A.1B.2C.59D.60

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

A.try-except

B.try-except—if

C.try—except-else

D.try—except-finally

29.数据流图(DFD)的作用是()。

A.描述软件系统的控制流B.支持软件系统功能建模C.支持软件系统的面向对象分析D.描述软件系统的数据结构

30.下面哪个语句能够让列表中的名字按行输出?names=[‘Dick’,‘Nancy’,‘Roger’]A.print("\n".join(names))

B.print(names.join("\n"))

C.print(names.append("\n"))

D.print(names.join("%s\n",names))

二、判断题(10题)31.调用函数时传递的实参个数必须与函数形参个数相等才行。

A.是B.否

32.当作为条件表达式时,{}与None等价。

A.是B.否

33.Python代码可以内嵌在asp文件中。A.是B.否

34.3+4j是合法Python数字类型。

A.是B.否

35.异常处理结构中的finally块中代码仍然有可能出错从而再次引发异常。

A.是B.否

36.在Python中可以为自定义类的对象动态增加新成员。

A.是B.否

37.Python采用的是基于值得自动内存管理方式。

A.是B.否

38.如果只需要math模块中的sin()函数,建议使用frommathimportsin来导入,而不要使用importmath导入整个模块。

A.是B.否

39.只有Python扩展库才需要导入以后才能使用其中的对象,Python标准库不需要导入即可使用其中的所有对象和方法。

A.是B.否

40.假设已成功导入os和sys标准库,那么表达式os.path.dirname(sys.executable)的值为Python安装目录。

A.是B.否

三、填空题(10题)41.已知x=3,那么执行语句x+=6之后,x的值为_______________。

42.已知x={1:2,2:3,3:4},那么表达式sum(x.values())的值为_________。

43.表达式list(map(lambdax:len(x),['a','bb','ccc']))的值为__________。

44.已知x=[1,2,3,4,5],那么执行语句delx[:3]之后,x的值为__________。

45.表达式'%d,%c'%(65,65)的值为________。

46.已知列表x=[1,2,3]和y=[4,5,6],那么表达式[(i,j)fori,jinzip(x,y)ifi==3]的值为____________。

47.已知x={'a':'b','c':'d'},那么表达式'b'inx的值为______________。

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

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

50.已知x为非空列表,那么执行语句y=x[:]之后,id(x[0])==id(y[0])的值为__________。

四、操作题(3题)51.考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:循环获得用户输入,直至用户输入Y或者y字符退出程序。

试题程序:

#请在_______处使用一行代码或表达式替换

#注意:请不要修改其他已给出代码while_________:

s=input(”请输入信息:”)

if______:

break

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.考生文件夹下存在一个文件“PY201.py”,请写代码替换横线,不修改其他代码,实现以下功能。使用turtle库的turtle.seth()函数和turtle.fd()函数绘制一个边长为100像素的三角形,效果如下所示。

试题程序:#请在_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码importturtleforiinrange(_____(1)_____):turtle.seth(_____(2)_____)_____(3)_____(100)

参考答案

1.A用于循环逻辑的保留字:while、for、else、break、continue。try用于捕捉异常。

2.B扇入数是指调用一个给定模块的模块个数。扇出数是指由一个模块直接调用的其他模块数,即一个模块直接调用的下层模块的数目。本题答案为B选项。

3.Belif是分支逻辑保留字,for和while是循环逻辑保留字,在Python中没有do保留字。

4.C数据管理发展至今已经历了\n3个阶段:人工管理阶段、文件系统阶段及数据库系统阶段。最后一个阶段结构简单,使用方便,逻辑性强,物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,本题选择C选项。

5.C在Python语言中,写文件操作时定位到某个位置所用到的函数是seek()。设f为文件变量,用法:f.seek(offset),含义:改变当前文件操作指针的位置,offset的值:0为文件开头;2为文件结尾。

6.B栈是按先进后出的原则组织数据的。队列是按先进先出的原则组织数据。本题选择B选项。

7.A

8.D文件是存储在辅助存储器上的一组数据序列,可以包含任何数据内容,A选项正确。可以使用open()打开文件,用close()关闭文件,B选项正确。在Python中,文件读取方法如下(f代表文件变量)。f.read():从文件中读入整个文件内容。f.readline():从文件中读入一行内容。f.readlineS():从文件中读入所有行,以每行为元素形成一个列表。f.seek():改变当前文件操作指针的位置。C选项正确。本题选择D选项。

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

10.A该代码的功能是根据传人的参数求取该数的阶乘,经过一系列的运算将结果返回,4的阶乘为24。

11.APython分支结构使用保留字if、elif和else来实现,每个if后面不一定要有elif或else,A选项错误;if-else结构是可以嵌套的,B选项正确;if语句会判断if后面的逻辑表达式,当表达式为真时,执行if后续的语句块,C选项正确;缩进是Python分支语句的语法部分,缩进不正确会影响分支功能,D选项正确。本题选择A选项。

12.CPython通过open()函数打开一个文件,并返回一个操作这个文件的变量,语法格式为<变量名>=open(\n<文件路径及文件名>,<打开模式>)。本题选择C选项。

13.BPython总共有35个关键字,分别是\nand、as、assert、async、await、break、class、continue、def、del、elif、else\n、except、False、finally、for、from、global、if、import、in、is、lambda、None、nonlocal、not、or、pass、raise、re-turn、Tme、try、while、with、yield。本题选择\nB选项。

14.A循环链表是指在单链表的第一个结点前增加一个表头结点,即空循环链表和非空循环链表中均存在表头结点,故循环链表中至少有一个结点,A项正确。循环链表是线性表的一种链式存储结构,循环队列是队列的一种顺序存储结构,D项错误。双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针(左指针和右指针),分别指向其前件结点和后件结点。双向链表中只有一个头指针且无头结点,B、C两项错误。

15.CPython的整数类型没有长度限制;Python采用严格的“缩进”格式,可以嵌套;Python的浮点数类型有长度限制,也受限于内存的大小。本题选择C选项。

16.C这段代码是全局变量、局部变量以及Python内置函数bool()的一个结合。当函数内部的局部变量名和函数外部全局变量名相同,调用函数时,总是先找到函数内部的局部变量名,所以当a为2时,经过布尔型转换之后的a-2,即b为False,而在函数外部只能访问全局变量名,所以n仍为2。本题选择C选项。

17.APython使用保留字try和except进行异常处理,基本的语法如下。try:\t<语句块1>except:\t<语句块2>“语句块1”是正常执行的程序内容,当执行这个语句块发生异常时,则执行except保留字后面的“语句块2”。一个try代码块可以对应多个处理异常的except代码块。本题选择A选项。

18.Ctime库是Python的标准库。使用gmtime()函数获取当前时间戳对应的对象。strftime()函数是时间格式化最有效的方法,几乎可以以任何通用格式输出时间。strftime()利用一个格式字符串,对时间格式进行表示。本题选择C选项。

19.A一维数据采用线性方式组织,在Python中主要采用列表表示,集合不属于线性结构。二维数据采用二维列表方式组织,在Python中可以采用二维列表表示。高维数据由键值对类型的数据构成,釆用对象方式组织,在Python中可以采用字典类型表示。在Python中,列表类型仅用于表示一维和二维数据。本题选择A选项。

20.C

21.APython使用format()格式化方法,语法格式为<模板字符串>.format(\n<逗号分隔的参数>),其中模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用花括号({})表示,对应fcmnat()方法中逗号分隔的参数。如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应format()方法中的不同参数。参数根据出现先后存在一个默认序号。本题选择A选项。

22.B在Python中,使用for…in…方式形成的循环能遍历的类型有字符串、文件、range()函数或组合数据类型,不能遍历复数。本题选择B选项。

23.APython中循环包括两种:遍历循环和无限循环。遍历循环使用保留字for依次提取遍历结构元素进行处理;无限循环使用保留字while根据判断条件执行程序。如果while中判断条件可以执行一次或两次,while中的语句块也就执行一次或两次,A项错误。循环结构有两个辅助循环控制保留字:break和continue。break用来跳出最内层for或while循环,脱离该循环后程序从循环后的代码继续执行;continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但跳不出当前循环。两者的区别是:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。C、D两项正确。所有的for分支都可以用while循环改写,B项正确。本题选A选项。

24.Awhile循环条件一直为True,即无限循环,只要“inp//3”条件为真,进入循环,则执行break语句,即可跳出while循环。2//3的值为0,条件为假,不执行break语句,无法结束程序执行。本题选择A选项。

25.A(3+4j)*(3-4j)是复数的乘法运算。设c1=a+bj,c2=c+dj(a、b、c、d均为实数),c1*c2=\n(ac-bd)+(bc+ad)j0结果是(25+0j)。本题选择A选项。

26.D栈是先进后出的线性表,所以A选项错误;队列是先进先出的线性表,所以B选项错误;循环队列是线性结构的线性表,所以C选项错误。本题选择D选项。

27.C设循环队列的存储空间为Q(l:m),初始状态为空。在循环队列运转起来后,如果rear-front>0,则队列中的元素个数为\nrear-front个;如果rear-front<0,则队列中的元素个数为rear-front+m。本题中front=25,rear=24,rear-front<0,则兀素个数为24-25+60=\n59。本题选择C选项。

28.BPython中异常处理结构有try—except、try—except—else和try—except—finally,没有选项B的用法。

29.B数据流图是系统逻辑模型的图形表示,从数据传递和加工的角度,来刻画数据流从输入到输出的移动变化过程,它直接支持系统的功能建模。

30.A

31.N

32.Y

33.Y

34.Y

35.Y

36.Y

37.Y

38.Y

39.N

40.Y

41.9

42.9

43.[1,2,3]

44.[4,5]

45.'65,A'

46.[(3,6)]

47.False

48.True

49.有序

50.True

51.whileTrue:\r\n

s=input(”请输入信息:”)\r\n

ifs=="y"ors=="Y":\r\n

break题目要求无限循环,即while的条件一直为真,所以为True,根据键盘输人的信息判断是否结束循环。当输入的信息为y或Y时退出循环,所以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

温馨提示

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

评论

0/150

提交评论