河南省鹤壁市全国计算机等级考试Python语言程序设计模拟考试(含答案)_第1页
河南省鹤壁市全国计算机等级考试Python语言程序设计模拟考试(含答案)_第2页
河南省鹤壁市全国计算机等级考试Python语言程序设计模拟考试(含答案)_第3页
河南省鹤壁市全国计算机等级考试Python语言程序设计模拟考试(含答案)_第4页
河南省鹤壁市全国计算机等级考试Python语言程序设计模拟考试(含答案)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

河南省鹤壁市全国计算机等级考试Python语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________

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

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

2.以下程序的输出结果是()。a=10b=1try:c=b//(b/a)print(c)except(IOError,ZeroDivisionError):print(“calculationerror”)else:print(“noerror”)A.calculationerrorB.noerrorC.10.0D.9.0

3.对于以下程序的描述,正确的是()。s=“Pythonisgood”l=“isn’tit”length=len(s)s_title=s.title()s_l=s+ls_number=s[1:6]print(length)

A.length为12

B.s_title为“PYTHONISGOOD”

C.s_l为“Pythonisgoodisn’tit”

D.s_number为“Python”

4.以下程序的输出结果是()。ls1=[1,2,3,4,5]ls2=ls1ls2.reverse()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

5.以下代码的输出结果是()。forsin”grandfather”:ifs==”d”.ors==’h’:continueprint(s,end=”)

A.grandfatherB.granfaterC.grandD.father

6.学校规定一个年级的所有班配备一名辅导员,则实体班级与实体辅导员之间的联系是()。

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

7.以下程序执行后,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

8.以下描述错误的是()。

A.Python语言是一门动态的解释型语言

B.当Python脚本程序发生了异常,如果不处理,运行结果不可预测

C.编程语言中的异常和错误是完全相同的概念

D.Python通过try、except等保留字提供异常处理功能

9.下面代码的输出结果是()。try:print(8/9/(8//9))except:print("计算错误")

A.0B.1C.计算错误D.8

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

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

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

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

12.跳出所处的最近层循环的是()

A.breakB.continuesC.continueD.Pass

13.使用一个还未赋予对象的变量错误提示是()

A.NameErrorB.KeyErrorC.SystemErrorD.ReferenceError

14.下面代码的输出结果是()。defadd(x):ifx>0:returnx+add(x一1)else:return0result=add(10)print(result)

A.0B.10C.55D.45

15.下面代码的输出结果是()。foriinrange(0,10,2):print(i,end=””)

A.02468B.2468C.0246810D.246810

16.—个类继承另一个类,那么被继承的这个类被称为()。

A.超类B.子类C.类D.继承类

17.以下程序的输出结果是()。Test_list=list(range(6))Print(6inTest_list)

A.6B.6inTest_listC.TrueD.False

18.生成一个[1,99]的随机整数的函数是()。

A.random.randint(1,100)

B.random,randint(0,99)

C.random.randint(1,99)

D.random,uniform.(1,99)

19.下面关于CSV文件描述错误的是()。

A.CSV文件格式是一种通用的文件格式,应用于程序之间转移表格数据

B.CSV文件的每一行是一维数据,可以使用Python中的列表类型表示

C.CSV文件通过多种编码表示字符

D.整个CSV文件是一个二维数据

20.以下关于匿名函数的描述,错误的是()。

A.在Python中,lambda表达式属于可调用对象

B.lambda表达式中可以使用任意复杂的表达式,但是必须只编写一个表达式

C.g=lambdax:3是一个合法的赋值语句

D.无法使用lambda表达式定义有名字的函数

21.以下程序的输出结果是()。L1=[4,5,6,8].reverse()print(L1)

A.[8,6,5,4]B.[4,5,6,8]C.NoneD.[4,5,6,8,]

22.以下关于Python字符编码的描述中,正确的是()。

A.Python字符编码使用ASCII存储

B.chr(x)和ord(x)函数用于在单字符和Unicode值之间进行转换

C.print(chr(‘a’))输出97

D.print(ord(65))输出A

23.以下关于Python字符编码的描述中,正确的是()。

A.Python字符编码使用ASCII值存储

B.chr(x)和ord(x)函数用于在单字符和Unicode值之间进行转换

C.print(chr('a’))输出97

D.print(ord(65))输出A

24.下面程序的输出结果是()。lisl=[1,2,['python1]]lis2=['loves']lisl[1]=lis2print(lisl)

A.[lis2,2,[‘python’]]

B.[1,['loves'],['python']]

C.[1,2,'python','loves']

D.[1,2,[‘python1,’loves’]]

25.如果一个函数没有return语句,调用它后的返回值为()

A.0B.TrueC.FalseD.None

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

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

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

A.快速排序适用于顺序存储的线性表

B.快速排序适用于链式存储的线性表

C.链式存储的线性表不可能排序

D.堆排序适用于非线性结构

28.以下关于turtle库的描述,错误的是()。

A.在importturtle之后,可以用turtle.circle()语句画一个圆圈

B.seth(x)是setheading(x)函数的别名,其作用是让画笔旋转x角度

C.可以用importturtle来导入turtle库函数

D.home()函数用于设置当前画笔位置为原点,方向朝上

29.执行以下代码的结果是?type(lambda:None)A.(type‘NoneType’)

B.(type‘function’)

C.(type‘tuple’)

D.(type‘type’)

30.关于Python元组类型,以下选项中描述错误的是()。

A.元组不可以被修改

B.Python中元组使用圆括号和逗号表示

C.元组中的元素要求是相同类型

D.—个元组可以作为另一个元组的元素,可以采用多级索引获取信息

二、判断题(10题)31.3+4j不是合法的Python表达式。

A.是B.否

32.对于带有else子句的循环语句,如果是因为循环条件表达式不成立而自然结束循环,则执行else子句中的代码。

A.是B.否

33.一个函数如果带有默认值参数,那么必须所有参数都设置默认值。

A.是B.否

34.加法运算符可以用来连接字符串并生成新字符串。

A.是B.否

35.Python2.x和Python3.x中input()函数的返回值都是字符串。

A.是B.否

36.在异常处理结构中,不论是否发生异常,finally子句中的代码总是会执行的。

A.是B.否

37.假设有非空列表x,那么x.append(3)、x=x+[3]与x.insert(0,3)在执行时间上基本没有太大区别。A.是B.否

38.无法删除集合中指定位置的元素,只能删除特定值的元素。

A.是B.否

39.定义类时如果实现了__len__()方法,该类对象即可支持内置函数len()。

A.是B.否

40.定义Python函数时必须指定函数返回值类型。

A.是B.否

三、填空题(10题)41.假设列表对象x=[1,1,1],那么表达式id(x[0])==id(x[2])的值为_____________。

42.已知x='a234b123c',并且re模块已导入,则表达式re.split('\d+',x)的值为_________________。

43.表达式type('3')in(int,float,complex)的值为__________。

44.假设已从标准库functools导入reduce()函数,那么表达式reduce(lambdax,y:x-y,[1,2,3])的值为____。

45.简单解释Python基于值的内存管理模式。

46.Python关键字elif表示__________和___________两个单词的缩写。

47.简单解释运算符/和//的区别。

48.已知列表x=[1,2,3],那么执行语句x.insert(1,4)只有,x的值为___________。

49.已知字典x={i:str(i+3)foriinrange(3)},那么表达式sum(x)的值为______。

50.表达式round(3.7)的值为_________。

四、操作题(3题)51.考生文件夹下存在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)#此行可以按照字符频次由高到低排序

52.在考生文件夹下有一个文件“PY102.py”,请按照文件内的说明,完善代码,实现下面功能:用键盘输入一个十进制数保存在变量s中,转换为二进制数输出显示在屏幕上,示例如下。请输入一个十进制数:25转换成二进制数是:11001试题程序:#请在程序的_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码s=input("请输入一个十进制数:")num=_____(1)_____print("转换成二进制数是:{_____(2)_____}".format(_____(3)_____))

53.考生文件夹下存在一个文件PY202.py,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能:

编写程序,实现将列表[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]中的素数去除,并输出去除素数后列表的元素个数,结果保存在考生文件夹下,命名为“PY202.txt”。。请结合程序整体框架,补充横线处代码。

试题程序:

#以下代码为提示框架

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

#请在程序的______处使用一行代码替换

#注意:提示框架代码可以任意修改,以完成程序功能为准

fo=open(”PY202.txt”,“w”)

defprime(num):

……#此处可以是多行代码

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]

lis=[]foriinls:

ifprime(i)==False:

________#处为一行代码fo.write(”>>>(),列表长度为{}".format(_______,_________)))fo.close()

参考答案

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

2.D只有当程序未引发异常顺利执行完try中的代码后,else语句块内的代码才会执行。本题中,try中无异常,输出变量c的值,再执行else中的代码。本题选择D选项。

3.Clen()函数用来获取字符串的长度,所以length应为14;title()函数是把字符串每个单词的首字母变为大写,所以S_title应为”PythonlsGood”;索引的序号是从0开始的,所以s[1:6]应为“ython”,即S_number为“ython”。本题选择C选项。

4.C在Python中,列表对象的赋值就是简单的对象引用。本题中,ls1和ls2是一样的,他们指向同一片内存,ls2不过是ls1的别名,是引用。对l2做修改,11也会跟着变化。ls2.reverse()是指将列表ls2中的元素反转,结果为[5,4,3,2,1],则ls1的值也为[5,4,3,2,1]。

5.Bfor循环将字符串”grandfather。”中的字符依次赋给变量s,当s==”d”或s==”h”时,结束本次循环,不执行print(s,end=”);反之,执行print(s,end=“)。故输出结果为granfater。本题选B选项。

6.B一个年级有很多班,这些班只配备一个名辅导员,因此实体班级与实体辅导员之间的联系是多对一。

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

8.C异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。错误是指导致系统不能按照用户意图工作的一切原因、事件。在程序设计过程中,由于某些错误的存在,致使程序无法正常运行,处理这些错误以使程序正确运行就称为错误处理。异常和错误是完全不同的概念。

9.Cx/y返回x和y的商,产生的结果为浮点数;x//y返回不大于x与y之商的最大整数。try-\nexcept是异常处理机制,当try中的代码报错时执行except后面的语句,不报错则继续执行同级语句。由于8//9\n=0,8/9/0产生了除以0的操作,因此会报错。本题选择C选项。

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

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

12.A

13.A

14.C该函数是一个递归函数,用来计算1到10之间的所有数的和,使用函数时必须调用函数,即函数名(<参数>),也可以将函数对象实例化。结果为55,选C项。

15.Arange(start,end,step)产生的是以[start,end)为区间并且步长为step的一个序列。通过for循环遍历输出,输出格式以空格输出。

16.A一个类继承另一个类,那么被继承的这个类被称为超类或者父类。本题选择A选项。

17.DTest_llst是列表类型,6inTest_llst表示如果6是列表Test_llst的元素,则返回True,否则返回False。本题选择D选项。

18.Crandom.randint(a,b)随机生成[a,b](包括a、b)的整数;random.uniform(a,b)随机生成[a,b)(包括a,不包括b)的实数。本题选择C选项。

19.CCSV文件采用纯文本格式,通过单一编码表示字符。以行为单位,开头不留空行,行之间没有空行。每行表示一个一维数据,多行表示多维数据。以逗号分隔每列数据,列数据为空也要保留逗号。本题选择C选项。

20.Dlambda表达式中可以调用其他函数,该表达式的计算结果相当于函数的返回值。

21.Creversed()方法的作用是将整个列表中的元素反转,第一个元素放在最后一个元素位置上,最后一个元素放在第一个元素位置上;第二个元素放在倒数第二个元素位置上,倒数第二个元素放在第二个元素位置上。最终列表为[8,6,5,4],但此方法本身无返回值。本题选择C选项。

22.B在Python中,字符编码以Unicode编码存储,选项A错误。chr(x)和ord(x)函数用于在单字符和Unicode值之间进行转换,选项B正确。chr(x)函数返回Unicode编码对应的字符,ord(x)函数返回单字符x对应的Unicode编码,如chr(1010)返回‘c’,ord(“和”)返回21644。因此,选项C、D错误。本题选择B选项。

23.B在Python中,字符编码以Unicode值存储。chr(x)和ord(x)函数用于在单字符和Unicode值之间进行转换。chr(x)函数返回Unicode值对应的字符,ord(x)函数返回单字符x对应的Unicode值,如chr(1010)返回’c’,ord(”和”)返回21644。因此,选项C、D错误。本题选择B选项。

24.B列表索引从0开始,lisl[l]=lis2是将列表lis2赋值并覆盖lisl[l]位置上的元素,运算后lisl=[1,[\nloves'],[’python']]。本题选择B选项。

25.D

26.D本题考查的是字符串输出格式化知识点,其中“{:*^13},,表示输出的字符串长度为13,居中对齐,空白处用“*”填充。最后输出的是****LOVES****,D项正确。

27.A排序可以在不同的存储结构上实现,但快速排序法适用于顺序存储的线性表,不适用于链式存储的线性表。堆排序适用于线性结构,不适用于非线性结构。本题选择A选项。

28.Dturtle库的home()函数用于设置当前画笔位置为原点,朝向东。本题选择D选项。

29.B

30.C元组与列表类似,可存储不同类型的数据;元组是不可改变的,创建后不能再做任何修改操作。本题选择C选项。

31.N

32.Y

33.N

34.Y

35.N

36.Y

37.N

38.Y

39.Y

40.N

41.True

42.['a','b','c']

43.FalseTrue

44.-4

45.Python采用的是基于值得内存管理方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python自动将其删除。

46.else、if

47./表示真除法,即使整数除以整数,结果也是实数;//表示整除法,结果是向下取整的整数。

48.[1,4,2,3]

49.3

50.4

51.(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条件进行判断,若该字符在变量exclude中,说明该字符为标点符号,跳出该循环;否则将该字符作为字典d中的一个键,该键所对应的值置为1,在后面循环中只要遍历的字符与该键相同,就将该键对应的值加1。ls=list(d.items())表示将字典类型变成列表类型,字典中的每个键值对对应列表中的一个元组。随后,对列表ls中的元组进行排序,用到sort()方法,参数“key=lambda.x:x[1]”中lambda是一个隐函数,是固定写法,不能写成别的单词;x表示列表中的一个元素,在这里表示一个元组,x只是临时起的一个名字,也可以使用任意的名字;x[1]表示以元组中第二个元素排序。sort()方法的第二参数表示是按哪种方式排序,若为“reverse=True”表示按降序排序;若该参数缺省或“reverse=False”,表示按升序排序。排序后,列表ls中第一个元组中即为频次最高的中文字符和频次,ls[0][0]表示该字符,ls[0][1]表示其频

温馨提示

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

评论

0/150

提交评论