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

下载本文档

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

文档简介

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

一、单选题(30题)1.下列关于分支结构的描述错误的是()。

A.分支结构包括单分支结构、二分支结构及多分支结构

B.单分支结构的书写形式包括(if-else)

C.多分支结构通常适用于判断一类条件或同一个条件的多个执行路径

D.使用多分支结构时需要注意多个逻辑条件的先后顺序,避免逻辑上的错误

2.下面程序的输出结果是()。Is=[“橘子”,“芒果”,“草毒”,“西瓜”,“水蜜桃”]ForkinIs:print(k,end=“”)A.橘子芒果草莓西瓜水蜜桃B.橘子芒果草莓西瓜水蜜桃C.西瓜D.”橘子”芒果"草莓”"西瓜"”水蜜桃”

3.定义在类中的方法之外的变量是()

A.实例变量B.类变量C.公有变量D.私有变量

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

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

5.下面代码的输出结果是()。n=2deff(a):n=bool(a-2)returnnb=f(2)print(n,b)

A.20

B.0True

C.2False

D.0False

6.下列关于Python中复数类型的描述错误的是()。

A.复数由实数部分和虚数部分构成

B.复数可以看作二元有序实数对(a,b)

C.虚数部分必须有后缀j,且为小写

D.复数中的虚数部分不能单独存在,必须有实数部分

7.以下关于二进制整数的定义,正确的是()。

A.081014B.0b1010C.0B1019D.ObC3F

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

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

9.关系数据库中的键是指()。

A.关系的所有属性B.关系的名称C.关系的专用保留字D.能唯一标识元组的属性或属性集合

10.以下关于分支和循环结构的描述中,正确的是()。

A.在循环中,continue语句的作用是跳出当前循环

B.在循环中,break语句的作用是结束该语句所在的循环

C.带有else子句的循环语句,如果是因为执行了break语句而退出的话,则会执行else子句中的代码

D.在Python中,分支结构和循环结构必须带有else子句

11.Python提供3种基本的数字类型,它们是()。

A.整数类型、浮点数类型、复数类型

B.整数类型、二进制类型、浮点数类型

C.整数类型、二进制类型、布尔类型

D.整数类型、二进制类型、复数类型

12.以下关于Python的return语句的描述中,正确的是()。

A.函数只能返回一个值

B.函数必须有return语句

C.函数可以没有return语句

D.函数中最多只有一个return语句

13.下面说法错误的是()。

A.在UTF-8编码中一个汉字需要占用3个字节

B.在GBK和CP936编码中一个汉字需要2个字节

C.Python运算符%不仅可以用来求余数,还可以用来格式化字符串

D.Python字符串方法replace()对字符串进行原地修改

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

A.pipdownload<第三方库名>

B.pipuninstall<第三方库名>

C.pipinstall<第三方库名>

D.pipsearch<第三方库名>

15.字符串tstr=’television’,显示结果为vi的选项是()。

A.pxint(tstr[4:7])

B.ptint(tstr[5:7])

C.print(tstr[一6:6])

D.print(tstr[4:一2])

16.在Python中,读入CSV文件保存的二维数据,按特定分隔符抽取信息,最可能用到的函数是()。

A.read()B.join()C.replace()D.split()

17.执行以下代码的结果是?A.(5,10)B.(10,5)C.(10,10)D.异常报错

18.以下代码的输出结果是()。Is=[[1,2,3],’python’,[[4,5,’ABC’],6],[7,8]]print(ls[2][l])

A.'ABC'B.pC.4D.6

19.下面说法错误的是()。

A.在UTF-8编码中一个汉字需要占用3个字节

B.在GBK和CP936编码中一个汉字需要占用2个字节

C.Python运算符“%”不仅可以用来求余数,还可以用来格式化字符串

D.Python字符串方法replace()对字符串进行原地修改

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

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

21.以下属于Python机器学习领域第三方库的是()。

A.turtleB.numpyC.pygameD.mxnet

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

A.open()打开一个文件,同时把文件内容载人内存

B.open()打开文件后,返回一个文件对象,用于后续的文件读写操作

C.当文件以二进制方式打开的时候,是按字节流方式读写

D.write(x)函数要求x必须是字符串类型,不能是int类型

23.以下不是Python的关键字的是()。

A.classB.defC.defineD.elif

24.以下程序Dog类中的__init__()方法共包含几个形参()。ClassDog(): def__init__(self,name,age) =name self.age=age

A.0个B.1个C.2个D.3个

25.在面向对象方法中,不属于”对象”基本特点的是()。

A.一致性B.分类性C.多态性D.标识唯一性

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

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

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

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

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

27.以下关于字符串的描述正确的是()。

A.字符应视为长度为1或2的字符串

B.字符串中的字符可进行数学运算,但进行数学运算的字符必须为数字

C.在三引号字符串中可包含换行回车等特殊的字符

D.字符串可以进行切片赋值

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

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

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

30.在数据库设计中,将E-R图转换成关系数据模型的过程属于()。

A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段

二、判断题(10题)31.3+4j是合法Python数字类型。

A.是B.否

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

A.是B.否

33.在Python3.x中可以使用中文作为变量名。

A.是B.否

34.定义类时,在一个方法前面使用@staticmethod进行休息,则该方法属于静态方法。

A.是B.否

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

A.是B.否

36.已知A和B是两个集合,并且表达式AB的值一定为True。

A.是B.否

37.Python标准库os中的方法listdir()返回包含指定路径中所有文件和文件夹名称的列表。

A.是B.否

38.表达式{1,3,2}>{1,2,3}的值为True。

A.是B.否

39.相同内容的字符串使用不同的编码格式进行编码得到的结果并不完全相同。

A.是B.否

40.Python是一种跨平台、开源、免费的高级动态编程语言。

A.是B.否

三、填空题(10题)41.假设列表对象aList的值为[3,4,5,6,7,9,11,13,15,17],那么切片aList[3:7]得到的值是______________________。

42.已知列表对象x=['11','2','3'],则表达式max(x)的值为___________。

43.list(map(str,[1,2,3]))的执行结果为_____________________。

44.Python程序文件扩展名主要有__________和________两种,其中后者常用于GUI程序。

45.Python内置函数________________用来返回数值型序列中所有元素之和。

46.表达式(1,2,3)+(4,5)的值为__________________。

47.表达式3and5的值为____________。

48.表达式isinstance('Helloworld',str)的值为__________。

49.Python内置函数()用来返回序列中的最小元素。

50.语句sorted([1,2,3],reverse=True)==reversed([1,2,3])执行结果为_________。

四、操作题(3题)51.某班学生评选一等奖学金,学生的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'''

52.考生文件夹下存在两个Python源文件“PY301-1.py”和“PY301-2.py”,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。李白,字太白,号青莲居士,又号“谪仙人”,是唐代伟大的浪漫主义诗人,被后世誉为“诗仙”。考生文件夹下有一个“关山月.txt”文件,内容如下。明月出天山,苍茫云海间。长风几万里,吹度玉门关。汉下白登道,胡窥青海湾。由来征战地,不见有人还。戍客望边邑,思归多苦颜。高楼当此夜,叹息未应闲。问题1:这是一段由标点符号分隔的文本,请编写程序,以“。”句号为分隔,将这段文本转换为诗词风格,输出到文件“关山月-诗歌.txt”中。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open("关山月.txt","r")…fi.close()fo.close()问题2:把问题1生成的“关山月-诗歌.txt”文件,以每行为单位,保留标点符号为原顺序和位置,输出全文的反转形式。将文件保存在考生文件夹下并命名为“关山月-反转.txt”。输出的形式如下。高楼当此夜,叹息未应闲。戍客望边邑,思归多苦颜。由来征战地,不见有人还。汉下白登道,胡窥青海湾。长风几万里,吹度玉门关。明月出天山,苍茫云海间。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open("关山月-诗歌.txt","r")fo=open(“关山月-反转.txt","w")…fi.close()fo.close()

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

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

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

试题程序:

#请完善如下代码

s=input()

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

参考答案

1.B单分支结构的书写形式如下:if〈条件>:〈语句块>二分支结构的书写形式如下:if<条件>:<语句块1>else:〈语句块2>本题选择B选项。

2.Bfor循环遍历列表Is,依次把Is中的元素赋值给变量k,并使用函数Print()输出各元素(格式为元素间用空格符分隔)。本题选择B选项。

3.B

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

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

6.CPython中复数类型的虚数部分的后缀可以为j或者J;复数的实部可以单独存在,但是虚部不可以单独存在;复数由实部和虚部构成,可以使用z.\nreal和z.imag分别获得它的实部和虚部。本题选择C选项。

7.B二进制整数以0b开头,后面跟二进制数0和1。A、C、D三项中有4、9、C、3、F,这些都不是二进制数。

8.APython的组合数据类型包括元组、列表、字典及集合等。本题选择A选项。

9.D在关系(二维表)中凡是能唯一标识元组的最小属性集称为该关系的键或者码。

10.Bcontinue语句用于中断本次循环的执行,继续执行下一轮循环的条件,而不是跳出当前循环;Python中的for、while循环都有一个可选的else子句,如果用break语句终止循环,那么else语句将不会执行。

11.APython提供的3种基本的数字类型为整数类型、浮点数类型、复数类型,分别对应数学中的整数、实数和复数。本题选择A选项。

12.C在Python中,return语句用来结束函数并将程序返回到函数被调用的位置继续执行。re-turn\n语句可以出现在函数中的任何部分,可以同时将0个、1\n个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return语句,此时函数并不返回值。当函数使用return语句返回多个值时,这些值形成了一个元组数据类型,由圆括号和逗号分隔,如(a,b,c),可以使用一个变量或多个变量保存结果。本题选择C选项。

13.D字符串方法replace()用来替换字符串中指定字符或子字符串的所有重复出现,每次只能替换一个字符或一个字符串,把指定的字符串参数作为一个整体对待。该方法并不修改原字符串,而返回一个新字符串。本题选择D选项。

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

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

16.D在Python中,读取CSV文件中的二维码数据采用遍历循环和字符串的split()方法相结合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本题选择D选项。

17.B

18.D列表索引从0开始,所以ls[2]\n[1]指的是列表中索引为2的元素[[4,5,’ABC’],6]中索引为1的元素6,所以输出结果是6。本题选择D选项。

19.D字符串方法replace()用来替换字符串中指定字符或子字符串的所有重复出现,每次只能替换一个字符或一个字符串,把指定的字符串参数作为一个整体对待。该方法并不修改原字符串,而是返回一个新字符串。本题选择D选项。

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

21.D在Python语言中,turtle库是Python重要的标准库之一,用于基本的图形绘制;numpy库属于数据分析领域;pygame库属于游戏开发领域,都不属于机器学习领域的第三方库。

22.A如果文件只被打开,文件内容是不会装入内存的,只有执行读取操作的时候才会把文件内容相应的长度(在read()函数中指定读取的字节长度)装入内存。

23.C保留字,也称关键字,是编程语言内部定义并保留使用的标识符。Python3.x中有35个保留字,分别为\nand、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、while、with、yield。define\n不是Python语言关键字。本题选择C选项。

24.D__init__()方法是一个特殊的方法,每当根据类创建新实例时,Python就会自动运行该方法。该方法的开头和结尾各有两个下划线,这是一种约定,旨在避免Python的默认方法和普通方法发生命名冲突。self、name、age都是__init__()方法的形参,所以共3个。本题选择D选项。

25.A对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择A。

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

27.C字符应视为长度为1的字符串;字符串中的字符不可以进行数学运算,如果是数字字符串需要将其转换为数值类型方可计算;字符串可进行切片,但不能赋值。

28.Atry-except语句用于检测和处理异常。本题选择A选项。

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

30.CE-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。

31.Y

32.Y

33.Y

34.Y

35.Y

36.N

37.Y

38.N

39.Y

40.Y

41.[6,7,9,11]

42.'3'

43.[‘1’,‘2’,‘3’]

44.py、pyw

45.sum()

46.(1,2,3,4,5)

47.5

48.TRUE

49.min()

50.False

51.(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,并将sum追加到student中。最后将student中所有元素追加到列表L中。\r\n

随后,对列表L中的元素进行排序,用到sort()方法,参数”key=lambdax:x[一1]”中lambda是一个隐函数,是固定写法,不能写成别的单词;x表示列表中的一个元素,在这里表示一个列表(即一个学生的信息),x只是临时起的一个名字,也可以使用任意的名字;x[一1]表示以列表中的最后一个元素(即总成绩)排序。参数”reverse=True”表示按降序排序;若该参数缺省或”reverse=False”,表示按升序排序。\r\n

最后,通过for循环在列表L中提取出前10个元素(即前10名的学生信息,但不包含总成绩),用空格分隔每个元素,并添加换行符,写入到文件”candidate0.txt”中,再关闭所有文件。\r\n

(2)本题涉及”candidate0.txt”和”candidate.txt”两个文件。首先要读取”candidate0.txt”文件中的信息,通过程序判断每个学生的所有课程成绩是否都大于等于60,满足条件的将该学生的学号和姓名写入到”candidate.txt”文件中。打开文件用open()函数,用”r”只读模式打开文件”candidate0.txt”,用”w”模式创建文件”candidate.txt”,并定义一个列表L来存储学号和姓名(做中转)。\r\n”candidate0.txt”文件中有10行数据,需要用readlines()函数读入所有行,以每行为元素形成列表lines,然后用for循环遍历该列表中的每个元素。在遍历每个元素时,用strip()方法删除元素首尾的空格,用split()方法以空格分隔学生的学号、姓名以及10门课成绩得到列表student。然后对列表student使用for循环遍历,用来判断10门课程的成绩是否都大于等于60,满足条件就将列表student中的前两个元素(即学号和姓名)追加到列表L中。\r\n

最后,通过for循环提取列表L中的所有元素,用空格分隔每个元素,并添加换行符,写入到文件”candidate.txt”中,再关闭所有文件。

52.(1)fi=open("关山月.txt”,"r")fi=open("关山月-诗歌.txt","w")Txt=fi.read()Is=txt.split(“。”)Fo.write(“。\\n”.join(is))fi.close()fo.close()(2)fi=open("关山月-诗歌.txt","r")fo=open(“关山月-反转.txt","w")Txt=fi.readlines()Txt.reverse()Forr

温馨提示

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

评论

0/150

提交评论