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

下载本文档

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

文档简介

黑龙江省牡丹江市全国计算机等级考试Python语言程序设计专项练习(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.以下关于数据维度的描述,错误的是()。

A.列表的索引值是大于0小于列表长度的整数

B.JSON格式可以表示比二维数据还复杂的高维数据

C.二维数据可以看成是多条一维数据的组合形式

D.csv文件既能保存一维数据,也能保存二维数据

2.树的度为3,且有9个度为3的节点,5个度为1的节点,但没有度为2的节点。则该树中的叶子节点数为()。

A.18B.33C.19D.32

3.以下程序的输出结果是()。ls=[12,44,23,46]foriinlsifi==‘44’:print(‘foundit!i=i’,i)breakelse:print(‘notfoundit…’)A.notfoundit…

B.foundit!i=44

C.foundit!i=44notfoundit…

D.foundit!i=‘44’notfoundit...

4.在Python中,用来安装第三方库的工具是()。

A.installB.pipC.PyQt5D.pyinstaller

5.在Python语言中,不属于组合数据类型的是()。

A.浮点数类型B.列表类型C.字典类型D.字符串类型

6.如果定义班级关系如下:班级(班级号,总人数,所属学院,班级学生)则使它不满足第一范式的属性是()。

A.班级号B.班级学生C.总人数D.所属学院

7.下面这段代码的输出是()。1='abcd'deff(x,result=[‘a’,’b’,'c’,'d’]):ifx:result,remove(x[-1])f(x[:-l])returnresultprint(f(l))

A.['a’,’b',’c’,’d’]B.[‘b’,’c’,’d’]C.['a','b',‘c’]D.[]

8.以下函数定义中,错误的是()。

A.defvfunc(s,a=1,*b):

B.defvfunc(a=3,b):

C.defvfunc(a,**b):

D.defvfunc(a,b=2):

9.Python中文件的打开模式为“t”,对应的文件打开模式为()。

A.只读模式B.覆盖写模式C.文本文件模式D.二进制文件模式

10.以下程序的输出结果是()。Is=[‘book’,666,[2018,‘python’,314],20]print(ls[2][1][-2])

A.nB.pythonC.oD.结果错误

11.下列关于Python内置函数的使用,描述错误的是()。

A.int(x)是将x转换为一个整数

B.Print(”6+5")的输出是11

C.dic.Clear()的结果是清空字典die

D.使用append()函数可以向列表添加元素

12.执行以下代码的结果是?A.300B.400C.500D.600

13.对以下代码的输出描述正确的是()。lis=list(range(6))print(lis)

A.[0,1,2,3,4,5]

B.[0,1,2,3,4,5,6]

C.0,1,2,3,4,5

D.0,1,2,3,4,5,6

14.以下关于数据维度的描述,错误的是()。

A.—维数据由对等关系的有序或无序数据构成,采用线性方式组织,对应于数学中的集合或数组的概念

B.二维数据由关联关系构成,采用表格方式组织,对应于数学中的矩阵

C.高维数据由键值对类型的数据组成,采用对象方式组织

D.—维数据由对等关系的有序数据构成,无序数据不是一维数据

15.下面的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])

16.下面代码的输出结果是()。foriinrange(3):foriin”dream”:ifj==”e”:continueprint(j,end=””)

A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream

17.以下用于数据存储领域的Python第三方库是()。

A.NLTKB.DjangoC.redis-pyD.Luminoth

18.以下代码执行后,book,txt文件的内容是()。fo=open(“book.txt”,”w”)Is=[‘book’,’23',’201009’,'20,]fo.write(str(Is))fo.close()

A.['book’,’23,,'201009’,’20’]

B.book,23,201009,20

C.[book,23,201009,20]

D.book2320100920

19.在Python的类定义中,对函数变量的访问形式为()。

A.<对象>.<变量>B.<对象>.方法(变量)C.<类名>.<变量>D.<对象>.方法(变量)

20.下面属于Python的标准库的是()。

A.turtleB.jiebaC.SciPyD.Flask

21.以下代码的输出结果是()。print(0.1+0.2==0.3)

A.一1B.TrueC.FalseD.0

22.Python中文件的打开方式为't',对应的文件打开模式为()。

A.只读方式B.只写方式C.文本文件模式D.二进制文件模式

23.以下程序的输出结果是()。s=“LOVES”print(“{:*^13}”.format(s))

A.LOVESB.********LOVESC.LOVES********D.****LOVES****

24.下面代码输出的结果是()。list=[[0,1,2],”123.0”,”python”]a=all(list[0])b=list[1].split(”.”)e=ascii(1ist[2])print(a,b,c)

A.True[’123’]’python’

B.False[‘0]’1’

C.True[’123’,0]~1

D.False[’123’,’0’]’python’

25.f=open()可以打开一个文件,关于f的描述错误的是()。

A.f是文件对象引用,在程序中表示文件

B.f是一种特殊的Python变量,执行print(f)时会报错

C.f.read()可以一次性读入文件全部信息

D.执行m=f后,m和f同时表示所打开文件

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

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

27.以下关于Python循环结构的描述中,错误的是()。

A.while循环使用关键字continue结束本次循环

B.while循环可以使用保留字break和continue

C.while循环也叫遍历循环,用来遍历序列类型中元素,默认提取每个元素并执行一次循环体

D.while循环使用pass语句,则什么事也不做,只是空的占位语句

28.以下程序的输出结果是()。ls=[]formin‘想念’:fornin‘家人’:ls.append(m+n)print(ls)A.想念家人B.想想念念家家人人C.想家想人念家念人D.[‘想家’,‘想人’,‘念家’,‘念人’]

29.下载但不安装一个第三方库的命名格式是()。

A.pipdownload<第三方库名>

B.pipuninstall<第三方库名>

C.pipinstall<第三方库名>

D.pipsearch<第三方库名>

30.下面代码的输出结果是()。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”

二、判断题(10题)31.在Python中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身。

A.是B.否

32.二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容。

A.是B.否

33.文件对象是可以迭代的。

A.是B.否

34.函数是代码复用的一种方式。

A.是B.否

35.在Python中可以使用if作为变量名。

A.是B.否

36.生成器推导式比列表推导式具有更高的效率,推荐使用。

A.是B.否

37.Python字典和集合属于无序序列。

A.是B.否

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

A.是B.否

39.不同作用域中的同名变量之间互相不影响,也就是说,在不同的作用域内可以定义同名的变量。

A.是B.否

40.不可以在同一台计算机上安装多个Python版本。

A.是B.否

三、填空题(10题)41.已知x=[3,7,5],那么执行语句x=x.sort(reverse=True)之后,x的值为_________。

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

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

44.可以使用内置函数___________________查看包含当前作用域内所有局部变量和值的字典。

45.表达式'apple.peach,banana,pear'.find('p')的值为______________。

46.已知列表x=list(range(5)),那么执行语句x.remove(3)之后,表达式x.index(4)的值为________。

47.已知x=3和y=5,执行语句x,y=y,x后x的值是____。

48.已知x=[3,5,7],那么表达式x[10:]的值为____________。

49.表达式'helloworld,helloweveryone'.replace('hello','hi')的值为________________________。

50.表达式type({3:3})的值为__________。

四、操作题(3题)51.考生文件夹下存在两个Python源文件“PY30H.py”和“PY301-2.py”,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。《傲慢与偏见》是史上最震撼人心的“世界文学十部最佳小说之一”。第1章的内容由考生文件夹下文件“arrogant,txt”给出。问题1:请编写程序,统计该篇文章的英文字符数(不统计换行符),字符与出现次数之间用冒号(:)分隔。结果保存在考生文件夹下,命名为“PY301-l.txt”。试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准…d={}Is=list(d.items())…fo.write("{}:{}\n".format(_____,_____))问题2:在问题1的前提下,将得到的字符次数进行降序排列,并将排名前10的常用字符保存在“arrogant-sort,txt”文件中。试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)…fo.write("{}:{}\n".format(_____,_____))

52.考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:

键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为25个字符,等号字符(=)填充,右对齐,带千位分隔符。如果输入正整数超过25位,则按照真实长度输出。

例如:键盘输入正整数n为1234,屏幕输出===================1,234

试题程序:

#请完善如下代码

s=input()

print(”{________(1)_________}”.format(________(2)_________))

53.考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:随机选择一个手机品牌屏幕输出。

试题程序:

#请在程序的…处使用一行或多行代码替换

#请在程序的______处使用一行代码替换#注意:请不要修改其他已给出代码

import________brandlist=[’三星’,’苹果’,’vivo’,’OPPO’,’魅族’]random.seed(0)

……

print(name)

参考答案

1.A列表的索引值也可以是负整数,如l[一1]就代表列表1的最后一个元素。

2.C设叶子结点数为〃,则该树的结点数为n+9+5=n+\n14,根据树中的结点数=树中所有结点的度之和+1,得9×3+0×2+5×1+n×0+1=n+14,则n=19。本题选择C选项。

3.A由于列表ls中所有元素都是整数类型,不可能等于字符串类型的‘44’,即if语句中的条件不成立,需执行else语句,输出notfoundit…。本题选择A选项。

4.B在Python中,使用pip工具来安装和管理Python第三方库,pip属于Python的一部分。本题选择B选项。

5.APython中组合数据类型包括元组、列表、字典和集合等。

6.B对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式模式。题目中“班级”关系的“班级学生”属性,还可以进行再分,如学号、姓名、性别、出生日期等,因此不满足第一范式。本题选择B选项。

7.D这段代码是一个递归函数,作用是把result列表中所有与1中一致的元素删除,所以最后的结果是一个空的列表,即[]。本题选择D选项。

8.B函数定义时的语法如下。def<函数名>(<非可选参数列表>,<可选参数>=<默认值>):\t<函数体>\treturn<返回值列表>可选参数一般放置在非可选参数的后面。本题选择B选项。

9.C在Python中,文件的打开模式对应为:r表示只读;w表示覆盖写;t表示文本文件模式;b表示二进制文件模式。本题选择D选项。

10.C列表索引从0开始,列表遵循正向递增索引和反向递减索引,故ls[2][1][-2]是字符o。本题选择C选项。

11.BB选项中正确的输出应为6+5,若print()函数圆括号内的变量用引号标注,则视为字符串。本题选择B选项。

12.B

13.Arange(6)取到的是0,1,2,3,4,5这六个数,这些数均为int类型,使用list()方法将其存储在列表变量lis中。

14.D任何可以以序列或集合表示的内容都可以看作一维数据。本题选择D选项。

15.B在Python中,字典是存储可变数量键值对的数据结构,键和值可以是任意数据类型,通过键索引值,并可以通过键修改值。因此,可以直接利用键值对关系索引元素。索引模式:<值>=<字典变量>[<键>]。故能够正确索引字典并输出数字2的语句是print(d[‘cake’])。本题选择B选项。

16.Acontinue语句只结束本次循环,不终止整个循环的执行,而break语句具备结束循环的能力。本题外层循环用来计数,内层循环用来遍历字符串,当满足判断条件时,就会结束本次循环进入下一循环,字符串遍历完成之后,外层循环进入下一循环。

17.Credls-py是数据存储方向的第三方库;Django是Web开发方向的第三方库;NLTK是自然语言处理方向的第三方库;Luminoth是计算机视觉方向的第三方库。本题选择C选项。

18.A执行fo=open('book.txt”,'w”),打开book.txt文本文件,打开模式为w(覆盖写模式);创建列表Is=\n[book’’23’,’201009’’20’];()函数返回一个对象的字符串格式,str(ls)返回Is中字符串,fo.write(Str(lS))将返回的字符串写入book,\ntxt文本文件中。本题选择A选项。

19.A访问函数的变量时,需要使用点表示法:<对象>.<变量名>。本题选择A选项。

20.Aturtle库是Python的标准库,用于基本图形的绘制;jieba库是Python的第三方中文分词库;SciPy是数据分析方向的第三方库;Flask是Web开发方向的第三方库。本题选择A选项。

21.C在Python语言中,0.1+0.2=0.30000000000000004。原因是:对于十进制,它只能表示以进制数的质因子为分母的分数。10的质因子有2和5,因此1/2、1/4、1/5、1/8和1/10都可以精确表示;相反,1/3、1/6和1/7都是循环小数,因为它们的分母使用了质因子3或者7。二进制下(进制数为2),只有一个质因子,即2,因此只能精确表示分母质因子是2的分数。二进制中,1/2、1/4和1/8都可以被精确表示,但1/5或者1/10就变成了循环小数。所以,在十进制中能够精确表示的0.1与0.2(1/10与1/5),到了计算机所使用的二进制中就变成了循环小数。当对这些循环小数进行数学运算并将二进制数据转换成人类可读的十进制数据时,会对小数尾部进行截断处理。在不同的语言中,运行0.1+0.2会输出不同的结果。

22.C在Python中,文件的打开方式对应为:’r’:只读方式;’w’:只写方式;’t’:文本文件模式;,b’:二进制文件模式。

23.D其中,“{:*^13}”表示输出的字符串长度为13,居中对齐,空白处用“*”填充。最后输出的是****LOVES****。本题选择D选项。

24.Dall(x)函数当组合类型变量x中所有元素为真时返回True,为假时返回False,若为空,则返回True,所以a的值为False.b中split()是字符串分隔函数,返回分隔后的值应为[’123’,’0’];c中ascii()的参数是字符串’python’,所以返回’python’。

25.Bf=open(),f是文件对象的引用,在程序中f代表打开的文件,执行print(f)不会报错,故B项错误、A项正确;f.read()方法如果不给出参数,则从文件中读入整个文件内容,故C项正确;执行m=f后,m也是该文件对象的引用,m与f都表示该打开文件对象,故D项正确。

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

27.CPython中循环包括两种:遍历循环和无限循环。遍历循环使用保留字for依次提取遍历结构元素进行处理;无限循环使用保留字while根据判断条件执行程序。\n循环结构有两个辅助循环控制保留字:break和continue。break用来跳出最内层for或while循环,脱离该循环后程序从循环后的代码继续执行。continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但跳不出当前循环。\npass:什么事也不做,只是空占位语句,是无运算的占位语句,当语法需要语句并且还没有任何使用的语句可写时,就可以使用它。它通常用于为复合语句编写一个空的主体。\n例如,如果想写个无限循环,每次迭代什么也不做,就写个pass。pass是有意义的,例如,忽略try语句所捕获的异常,以及定义带属性的空类对象,而该类实现的对象行为就像其他语言的结构和记录。\npass有时指的是“以后会填上”,只是暂时用于填充函数主体而已,无法保持函数体为空而不产生语法错误,因此,可以使用pass来替代。\n两者的区别是:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。

28.D外层for第一次循环将字符‘想’赋给变量m,m=‘想’,内层for第一次循环将‘家’赋给变量n,m+n连接字符,利用列表的append()方法将连接后的字符‘想家’加入列表ls中;内层for第二次循环将‘人’赋给变量n,m+n连接字符,利用列表的append()方法将连接后的字符‘想人’加入列表ls中。外层for第二次循环将字符‘念’赋给变量m,m=‘念’,内层for第一次循环将‘家’赋给变量n,m+n连接字符,利用列表的append()方法将连接后的字符‘念家’加入列表ls中;内层for第二次循环将‘人’赋给变量n,m+n连接字符,利用列表的append()方法将连接后的字符‘念人’加入列表ls中。最后列表ls=[‘想家’,‘想人’,‘念家’,‘念人’],print(ls)输出ls。本题选择D选项。

29.Apipdownload<第三方库名>用于下载第三方库的安装包,但并不安装;pipuninstall<第三方库名>用于卸载一个已经安装的第三方库;pipinstall<第三方库名>用于安装第三方库;pipsearch<第三方库名>用于联网搜索库名或摘要中的关键字。本题选择A选项。

30.Bappend()是向列表元素的结尾增加元素。

31.Y

32.Y

33.Y

34.Y

35.N

36.Y

37.Y

38.Y

39.Y

40.N

41.None

42.'[1,2,3]'

43.[3,2]

44.locals()

45.1

46.3

47.5

48.[]

49.'hiworld,hiweveryone'

50.dict

51.考生文件夹下存在两个Python源文件“PY301.py”和“PY301-2.py”,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。《傲慢与偏见》是史上最震撼人心的“世界文学十部最佳小说之一”。第1章的内容由考生文件夹下文件“arrogant,txt”给出。问题1:请编写程序,统计该篇文章的英文字符数(不统计换行符),字符与出现次数之间用冒号(:)分隔。结果保存在考生文件夹下,命名为“PY301-l.txt”。试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准…d={}Is=list(d.items())…fo.write("{}:{}\\n".format(_____,_____))问题2:在问题1的前提下,将得到的字符次数进行降序排列,并将排名前10的常用字符保存在“arrogant-sort,txt”文件中。试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准…d={}…Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)…fo.write("{}:{}\\n".format(_____,_____))试题答案:(1)Fi=open(“arrogant.txt,”r”)Fo=open(“PY301-1.txt”,”w”Txt=fi.read()d={}Forsintxt:D[s]=d.get(s,0)+1Deld[‘\\n’]Is=list(d.items())Foriinrange(len(is)):fo.write(“{}:{}\\n”.format(ls[i][0],is[i][1])Fi.close()Fo.close()(2)Fi=open(“arrogant.txt,”r”)Fo=open(“arrogant-sort.txt”,”w”)Txt=fi.read()d={}Forsintxt:D[s]=d.get(s,0)+1Deld[‘\\n’]Is=list(d.items())Is.sort(key=lambdax:x[1],reverse=True)Foriinrange(10):fo.write(“{}:{}\\n”.fcrmat(is[i][0],is[i][1])Fi.close()Fo.close()(1)首先使用open()函数打开文件“arrogant,\r\ntxt”,把文件的内容通过read()方法保存到变量txt中;然后用for循环遍历txt中的每个英文字符,将该字符作为字典d中的键,将该键所对应的值设置为1,在后面循环中只要遍历的字符与该键相同,就将该键对应的值加1。这样,字典中的键值对对应着英文字符和其出现的次数。由于题目要求不统计换行符,因此需要使用del删除换行符对应的键值对。Is=list(d.items())表示将字典类型变成列表类型,字典中的每个键值对对应列表中的一个元组。每个元组中的第一个元素ls[i]\r\n[0]表示英文字符,第二个元素is[i][1]表示字符出现的次数。通过for循环遍历按照格式规则将两个对应的元素写入文件“PY301-1.\r\ntxt”。(2)\r\n问题2在问题1的基础上增加了排序,排序的规则是按照字符出现的次数降序排序,因此排序后列表中前10个元素(元组)就是排名前10的字符。通过for循环遍历按照格式规则将这10个元素写入文件“\r\narrogant-sort,tx”

温馨提示

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

评论

0/150

提交评论