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

付费下载

下载本文档

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

文档简介

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

一、单选题(30题)1.以下保留字不用于异常处理逻辑的是()。

A.finallyB.elseC.tryD.if

2.下面属于“对象”成份之一的是()。

A.封装B.规则C.属性D.继承

3.概念模型是()。

A.用于现实世界的建模,与具体的DBMS有关

B.用于信息世界的建模,与具体的DBMS有关

C.用于现实世界的建模,与具体的DBMS无关

D.用于信息世界的建模,与具体的DBMS无关

4.以下描述中,不属于Python控制结构的是()。

A.分支结构B.程序异常C.跳转结构D.顺序结构

5.属于Python中Web开发的第三方库的是()。

A.pygameB.scipyC.pdfminerD.pyramid

6.当试图访问的对象属性不存在时,为了不让程序抛出异常,需要用到的语句是()。

A.try—except语句B.for语句C.eval语句D.if语句

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

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

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

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

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

8.下面代码的输出结果是()。letter=[’A’,’B’,’C’,’D’,’D’,’D’]foriinletter。:ifi==’D’:letter.remove(i)print(letter’)

A.[’A’,’B’,’C’]

B.[’A’,’B’,’C’,’D’,’D’]

C.[’A’,’B’,’C’,’D’,’D’,’D’]

D.[’A’,’B’,’C’,’D’]

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

A.try-except

B.try-except—if

C.try—except-else

D.try—except-finally

10.在Python中,写文件操作时定位到某个位置所用到的方法是()。

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

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

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

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

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

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

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

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

13.软件生命周期是指()。A.软件产品从提出、实现、使用维护到停止使用退役的过程

B.软件从需求分析、设计、实现到测试完成的过程

C.软件的开发过程

D.软件的运行维护过程

14.一棵二叉树共有25个节点,其中5个是叶子节点,则度为1的节点数为()。

A.16B.10C.6D.4

15.软件设计中模块划分应遵循的准则是()。A.低内聚低耦合

B.高内聚低耦合

C.低内聚高耦合

D.高内聚高耦合

16.在供应关系中,实体供应商和实体零件之间的联系是()。

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

17.以下程序的输出结果是()。foriinrange(3):print(i,end=‘,’)A.0,1,2B.0,1,2,C.1,2,3D.1,2,3,

18.商品销售的售货单和商品之间的联系是()。

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

19.下面代码的输出结果是()。foriin"Goaheadbravely!”:ifi=="b":breakelse:print(i,end="")

A.Goaheadravely!B.bravely!C.Goaheadbravely!D.Goahead

20.在Python中,不能作为变量名的是()。

A.studentB.2ageC._regD.use_time

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

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

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

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

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

22.以下代码的输出结果是()。Is=[”2020”,”1903”,“Python”]Is.append(2050)Is.append([2020,"2020"])print(Is)

A.['2020','1903','Python',2020,[2050,'2020']]

B.['2020','1903','Python',2020]

C.['2020','1903','Python',2050,[2020,'2020']]

D.['2020','1903','Python',2050,['2020']]

23.执行以下代码的结果是()A.12B.24C.36D.48

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

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

25.以下程序输出的图形是()。foriinrange(-3,4): ifi<0: print(‘’*(-i)+‘*’*(4+i)) elifi>0: print(‘’*3+‘*’*(4-i)) else: print(‘*’*7)

A.

B.

C.

D.

26.以下程序的输出结果是()。d={‘food’:{‘cake’:1,‘egg’:5}}print(d.get(‘egg’,‘nothisfood’))

A.eggB.1C.foodD.nothisfood

27.以下属于Python中导入语句的是()。

A.classB.returnC.importD.print

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

A.passB.useC.withD.None

29.S=’1234567890’,以下表示’1234’的选项是()。

A.s[1:5]B.s[0:3]C.s[一10:-5]D.s[0:4]

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

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

二、判断题(10题)31.在Python3.x中可以使用中文作为变量名。

A.是B.否

32.在函数内部,既可以使用global来声明使用外部全局变量,也可以使用global直接定义全局变量。A.是B.否

33.表达式{}==None的值为True。

A.是B.否

34.全局变量会增加不同函数之间的隐式耦合度,从而降低代码可读性,因此应尽量避免过多使用全局变量。

A.是B.否

35.在Python中定义函数时不需要声明函数参数的类型。

A.是B.否

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

A.是B.否

37.表达式pow(3,2)==3**2的值为True。

A.是B.否

38.在Windows平台上编写的Python程序无法在Unix平台运行。A.是B.否

39.在函数内部没有办法定义全局变量。

A.是B.否

40.Python变量名必须以字母或下划线开头,并且区分字母大小写。

A.是B.否

三、填空题(10题)41.表达式'aaasdf'.rstrip('af')的值为_______________。

42.已知x是一个列表对象,那么执行语句y=x[:]之后表达式id(x)==id(y)的值为___________。

43.已知列表x=[1,3,2],那么表达式[valueforindex,valueinenumerate(x)ifindex==2]的值为_______________。

44.字典对象的___________方法可以获取指定“键”对应的“值”,并且可以在指定“键”不存在的时候返回指定值,如果不指定则返回None。

45.表达式'abc10'.isdigit()的值为__________________。

46.已知x=[3,5,7],那么执行语句x[1:]=[2]之后,x的值为________________。

47.表达式'{0:#d},{0:#x},{0:#o}'.format(65)的值为_____________。

48.已知列表x=[1,2],那么执行语句x.extend([3])之后,x的值为____________。

49.已知有函数定义defdemo(*p):returnsum(p),那么表达式demo(1,2,3)的值为______、表达式demo(1,2,3,4)的值为_________。

50.表达式str([1,2,3])的值为__________________。

四、操作题(3题)51.考生文件夹下存在一个文件“PY103.py”,请写代码替换横线,不修改其他代码,实现以下功能。用键盘输入十进制整数,按要求将这个整数转换为二进制、八进制及十六进制(大写)并输出到屏幕。例如:输入数字:425对应的二进制数:110101001对应的八进制数:651对应的十六进制数:1A9试题程序:#请在_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码num=eval(input("输入数字:"))print("对应的二进制数:{_____(1)_____}\n八进制数:{_____(2)_____}\n十六进制数:{_____(3)_____}".format(num))试题答案:num=eval(input("输入数字:”))Print(”对应的二进制数:{0:b}\n八进制数:{0:o}\n十六进制数:{0:x}”.format(num))

52.考生文件夹下存在3个Python源文件,分别对应3个问题;1个文本文件,作为本题目的输入数据,请按照源文件内部说明修改代码,实现以下功能。《卖火柴的小女孩》是丹麦童话故事作家安徒生写的一篇童话故事,发表于1846年。主要讲了一个卖火柴的小女孩在富人阖家欢乐、举杯共庆的大年夜冻死在街头的故事。这里给出《卖火柴的小女孩》的一个网络版本文件,文件名为“小女孩.txt”。问题1:在“PY301-1.py”文件中修改代码,对“小女孩.txt”文件进行字符频次统计,输出频次最高的中文字符(不包含标点符号)及其频次,字符与频次之间采用英文冒号(:)分隔,将输出结果保存在考生文件夹下,命名为“PY301-l.txt”。示例格式如下。的:83试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准…fo=open("PY301-1.txt","w")d={}fo.write("{}:{}".format(_____))fo.close()问题L在“PY301-2.Py”文件中修改代码,对“小女孩.txt”文件进行字符频次统计,按照频次由高到低,输出前10个频次最高的字符,不包含回车符,字符之间无间隔,连续输出,将输出结果保存在考生文件夹下,命名为“PY301-2.txt”。示例格式如下。,的一...(共10个字符)试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fo=open("PY301-2.txt",”w”)…d={}…Is=list(d.items())ls.sort(key=lambdax:x[l],reverse=True)#此行可以按照字符频次由高到低排序…问题3:在PY301-3.py文件中修改代码,对“小女孩.txt”文件进行字符频次统计,将所有字符按照频次从高到低排序,字符包括中文、标点、英文等,但不包含空格符和回车符。将排序后的字符及频次输出到考生文件夹下,文件名为“小女孩-频次排序.txt”。字符与频次之间采用英文冒号(:)分隔,各字符之间采用英文逗号(,)分隔,参考CSV格式,最后无逗号,文件内部示例格式如下。着:30,那:29,火:29试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1]#reverse=True)#此行可以按照字符频次由高到低排序

53.考生文件夹下存在一个文件“PY201.py”,请写代码替换横线,不修改其他代码,实现以下功能。使用turtle库中的pencolor()和fillcolor()方法为图形着色(画笔颜色为黑色,填充颜色为红色),使用set-up()方法在桌面(400,400)的位置创建600像素×600像素的画布窗体,效果如下所示。试题程序#请在_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_____(1)_____('black')_____(2)_____("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()

参考答案

1.D用于异常处理逻辑的保留字有try、except、else、finally。if用于程序的分支结构。本题选择D选项。

2.C面向对象方法中的对象由两部分组成:①数据,也称为属性,即对象所包含的信息,表示对象的状态;②方法,也称为操作,即对象所能执行的功能、所能具有的行为。本题选C选项。

3.C概念模型,着重于对客观世界复杂事物的描述及对它们内在联系的刻画,与具体的DBMS(数据库管理系统)无关。

4.CPython在3种基本控制结构(顺序结构、选择结构(分支结构)、循环结构)上进行了适当地扩展。在分支结构原理的基础上,Python增加了异常处理,使用try-except保留字。本题选择C选项。

5.D属于Web开发的Python第三方库有Django、pyrami(l、Flask等。pygame属于游戏开发方向,scipy属于数据分析方向,pdfminer属于文本处理方向。本题选择D选项。

6.Atry—except语句用于检测和处理异常。

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

8.D遍历列表letter,当i==’D’时,执行letter.remove(i),此时列表letter=[’A’,’B’,’C’,’D’,’D’],再遍历当i==’D’,执行letter.remove(i),此时列表letter=[’A’,’B’,’C’,’D’]。因为列表中的元素随着“D”元素的删除而减少,当删除第一个“D”元素之后,列表元素的个数即变为5,for循环又是控制循环次数的,因此只遍历5次,当第二个“D”元素删除时,循环结束。

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

10.C在Python中,写文件操作时定位到某个位置所用到的方法是seek()。设f为文件变量,其语法为f.Seek(offset),含义是改变当前文件操作指针的位置,其中offset的值有两个,0为文件开头,2为文件结尾。本题选择C选项。

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

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

13.A通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

14.A根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1\n=4个,所以度为1的结点的个数是25-5-4=16个。本题选择A选项。

15.B解析:耦合性和内聚性足模块独立性的两个定性标准。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,作为软件结构设计的设计原则,要求每个模块的内部都具有很强的内聚性;耦合性是指模块间相互连接的紧密程度的度量,一个模块与其他模块的耦合性越强则该模块的独立性越弱。一般优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

16.A一家供应商可提供多种零件,一种零件也可被多家供应商提供。所以实体供应商和实体零件之间的联系是多对多。本题答案为A选项。

17.Brange()函数与for循环结合使用,一般可以创建一个整数列表,且range(start,stop[,step])包含3个参数,代表列表的开始、结束以及步长,但其中不包含stop参数的范围,即区间为左闭右开。print()函数的end参数用来设置输出格式,默认为换行。该题输出数字之间使用逗号分隔。本题选择B选项。

18.A一张售货单可以有多种商品的记录,一种商品也可以出现在多张售货单上。因此售货单和商品之间的联系是多对多。

19.Dfor循环遍历字符串,当变量i赋值为b时,break跳出本层循环,即后面的字符不再遍历,当值不为b时就将其输出,结果为Go\nahead。本题选择D选项。

20.BPython中合法的标识符可以采用大写字母、小写字母、数字、下划线及汉字等字符及其组合命名,但首字母不能为数字。本题选择B选项。

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

22.C要向列表中添加元素,可以使用append()方法,添加的元素类型可以不同,可以是数字、字符串、列表等,要注意的是append()方法不能同时添加多个元素。本题选择C选项。

23.B

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

25.Ai的取值区间为[-3,4)且为整数,当i=0时,根据判断条件应在一行输出7个*,且行前无空格。通过4个选项比较,采用排除法,只有A选项满足条件。本题选择A选项。

26.D根据字典的索引方式可知,d.get(‘egg’,‘nothisfood’)索引的是字典第一层,但是第一层只有键food,没有键egg,故索引不出值,输出的是nothisfood。本题选择D选项。

27.CPython中无论是标准库、第三方库还是自定义库,在使用之前都需要进行导入,方法就是使用import语句导人模块。本题选择C选项。

28.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选项。

29.D对字符串中某个子串或区间的检索称为切片。切片的使用方式如下:\n<字符串或字符串变量>[N:M]\n切片获取字符串从N到M(不包含M)的子字符串,其中N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。切片要求N和M都在字符串的索引区间,如果N大于等于M,则返回空字符串。如果N缺失,则默认将N设为0;如果M缺失,则默认表示到字符串结尾。\n题干中s[1:5]=’2345’,s[0:3]=’123’,s[一10:一5]=’12345’,s[0:4]=’1234’。

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

31.Y

32.Y

33.N

34.Y

35.Y

36.Y

37.Y

38.Npython代码支持window和Linux下跨平台

39.N

40.Y

41.'aaasd'

42.False

43.[2]

44.get()

45.False

46.[3,2]

47.'65,0x41,0o101'

48.[1,2,3]

49.6、10

50.'[1,2,3]'

51.num=eval(input("输入数字:”))Print(”对应的二进制数:{0:b}\\n八进制数:{0:o}\\n十六进制数:{0:x}”.format(num))考查format()方法的使用。格式控制标记可以使用变量来表示,即用槽来指定对应的控制标记及数量,模板字符串在本题中总共有3个槽,即参数变量需要3个,但此时的参数只有一个,这里需要指定对应的变量。<类型\r\n>\r\n表示输出整数和浮点数类型的格式规则。b表示二进制;o表示八进制;大写的X表示大写的十六进制。因此第1空填入o:b,第2空填入0:o,第3空填入0:X。

52.(1)fi=open("小女孩.txt","r")fo=open(”PY301—1.txt”,”w”)txt=fi.read()d={}\r\nexclude=",。!?、()【】<>《》=:+-*-“”…"forwordintxt:ifwordinexclude:continueelse:d[word]=d.get(word,0)+1ls=list(d.items())ls.sort(key=lambda\r\nx:x[1],reverse=True)fo.write(”{}:{}”format(ls[0][0],ls[0][1]))fo.close()(2)fi=open("小女孩.txt","r")fo=open(”PY301—2.txt”,”w”)txt=fi.read()d={}forwordintxt;d[word]=d.get(word,0)+1deld["\\n"]ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照词频由高到低排序foriinrange(10);fo.write(ls[i][0])fi.close()fo.close()(3)fi=open("小女孩.txt","r")fo=open(小女孩-频次排序。txt","w")txt=fi.read()d={}forwordintxtd[word]=d.get(word,0)+1deld[""]deld["\\n"]ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照词频由高到低排序foriin\r\nrange(len(ls)):ls[i]="{}:{}".format(ls[i][0],ls[i][1])fo.write(",".join(ls))fi.close()fo.close()(1)首先使用open()函数打开文件“小女孩.txt”,把文件的内容通过read()方法保存到变量txt中;定义一个字符串变量exclude用来存放标点符号。然后用for循环遍历txt中的每个字符(word),并使用if条件进行判断,若该字符在变量exclu

温馨提示

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

最新文档

评论

0/150

提交评论