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

下载本文档

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

文档简介

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

一、单选题(30题)1.以下对Python文件处理的描述中,错误的是()。

A.当文件以文本方式打开时,读/写按照字节流方式

B.Python能够以文本和二进制两种方式处理文件

C.Python通过解释器内置的open()函数打开一个文件

D.文件使用结束后可以用close()方法关闭,释放文件的使用授权

2.设有表示学生选课的3张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。

A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩

3.下列哪个语句在Python中是非法的?()

A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y

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

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

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

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

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

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

A.pipdownload<第三方库名>

B.pipuninstall<第三方库名>

C.pipinstall<第三方库名>

D.pipsearch<第三方库名>

6.想查看BIFlen的文档信息,输入以下命令()

A.helplenB.help--lenC.lenhelpD.help(len)

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

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

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

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

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

8.若I,j均为整形数值对象,以下哪个语句计算i被j除后的余数()

A.imodjB.i/jC.i%jD.i//j

9.Python语言提供三种基本的数字类型,它们是()。

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

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

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

D.二进制类型、浮点类型、复数类型

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

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

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

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

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

11.运行以下Python中表达式后,X的值为是x=3==3,5

A.3B.5C.(True,5)D.(False,5)

12.假设country.csv文件内容如下:巴哈马,巴林,孟加拉国,巴巴多斯白俄罗斯,比利时,伯利兹以下代码的输出结果是()。f=open(“country.csv”,“r”)ls=f.read().split(“,”)f.close()print(ls)

A.[‘巴哈马’,‘巴林’,‘孟加拉国’,‘巴巴多斯\n白俄罗斯’,‘比利时’,‘伯利兹’]

B.[‘巴哈马巴林’,‘孟加拉国’,‘巴巴多斯’,‘白俄罗斯’,‘比利时’,‘白利兹’]

C.[‘巴哈马,巴林,孟加拉国,巴巴多斯,白俄罗斯,比利时,伯利兹’]

D.[‘巴哈马’,‘巴林’,‘孟加拉国’,‘巴巴多斯’,‘\n’,‘白俄罗斯’,‘比利时’,‘伯利兹’]

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

A.random.randint(1,100)

B.random.randint(0,99)

C.random.randint(1,99)

D.random.uniform(1,99)

14.将数据和操作置于对象统一体中的实现方式是()。

A.隐藏B.抽象C.封装D.结合

15.以下代码的输出结果是()。s=[4,2,9,1]s.insert(3,3)print(s)

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

16.以下关于Python的描述中,正确的是()。

A.函数中return语句只能放在函数定义的最后面

B.定义函数需要使用保留字def

C.使用函数最主要的作用是复用代码

D.Python函数不可以定义在分支或循环语句的内部

17.用户自定义类时,如果想让该类实例对象被print调用时返回类的特定信息,就必须实现Python魔术方法中的()A.initB.strC.repD.cmp

18.以下python数据类型中不支持索引访问的是()

A.字符串B.列表C.元组D.集合

19.下列关于分支结构的描述错误的是()。

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

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

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

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

20.以下关于程序的异常处理的描述中,错误的是()。

A.—旦代码拋出异常并且没有得到正确的处理,整个程序会崩溃,并且不会继续执行后面的代码

B.—般不建议在try中放太多代码,而建议只放入可能会引发异常的代码

C.带有else子句的异常处理结构,如果不发生异常则执行else于句中的代码

D.在try-except-else结构中,如果try子句的语句引发了异常,则会执行else子句中的代码

21.下面代码的输出结果是()。words=”helloPythonworld!”f=lambdax:len(x)foriinwords.split():print(f(i),end=””)

A.555B.566C.666D.111111

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

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

23.定义学生选修课程的关系模式如下:SC(S#,sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分)则对主属性部分依赖的是()。

A.C#→CnB.(S#,C#)→GC.(S#,C#)→S#D.(S#,C#)→C#

24.以下代码的输出结果是()。forsin"PythonNCRE":ifs=="N”:breakprint(s,end="")

A.PythonCREB.NC.PythonD.PythonNCRE

25.若想要在屏幕上打印输出Hello,World,应该使用下列哪个语句?()

A.printf(”Hello,World”)

B.printf(Hello,World)

C.print(”Hello,World”)

D.print(Hello,World)

26.采用表结构来表示数据及数据间联系的模型是()。

A.层次模型B.概念模型C.网状模型D.关系模型

27.执行以下代码的结果是()A.4B.5C.8D.12

28.以下描述中,错误的是()。

A.Python语言通过索引来访问列表中元素,索引可以是负整数

B.列表用方括号来定义,继承了序列类型的所有属性和方法

C.Python列表是各种类型数据的集合,列表中的元素不能够被修改

D.Python语言的列表类型能够包含其他的组合数据类型

29.下面关于Python中实参和形参的说法错误的是()。

A.在函数定义时的参数被称为形参,形参不是实际存在的变量

B.可选参数一般都放置在非可选参数的后面

C.实参必须是一个常量

D.形参存在的目的是接收调用函数时传入的实参

30.正则表达式中的特殊字符,匹配字母,数字,下划线()

A.\dB.\DC.\wD.\s

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

A.是B.否

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

A.是B.否

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

A.是B.否

34.一个数字5也是合法的Python表达式。

A.是B.否

35.调用函数时,在实参前面加一个型号*表示序列解包。

A.是B.否

36.Python元组支持双向索引。

A.是B.否

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

38.删除列表中重复元素最简单的方法是将其转换为集合后再重新转换为列表。

A.是B.否

39.异常处理结构也不是万能的,处理异常的代码也有引发异常的可能。

A.是B.否

40.Python标准库os中的方法startfile()可以用来打开外部程序或文件,系统会自动关联相应的程序来打开或执行指定的文件。

A.是B.否

三、填空题(10题)41.表达式round(3.4)的值为___________。

42.表达式sum(range(10))的值为________________。

43.已知列表x=[1.0,2.0,3.0],那么表达式sum(x)/len(x)的值为___________。

44.在Python中关键字__________表示空类型。

45.假设re模块已导入,那么表达式re.findall('(\d)\\1+','33abcd112')的值为___________________。

46.表达式sorted([13,1,237,89,100],key=lambdax:len(str(x)))的值为___________________________________。

47.表达式{1,2,3}&{2,3,4}的值为___________。

48.表达式'abcab'.strip('ab')的值为__________。

49.Python内置函数_________可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。

50.已知列表x=[1,3,2],那么执行语句y=list(reversed(x))之后,x的值为__________。

四、操作题(3题)51.考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。用键盘输入两个大于0的整数,按要求输出这两个整数之间(不包括这两个整数)的所有素数。素数又称质数,是指除了1和它本身以外不能被其他整数整除的数。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准lower=int(input(‘输入区间最小值:’))upper=int(inputs(‘输入区间最大值:’))fornuminrange(_____,_____):

52.考生文件夹下存在一个文件“PY102.py”,请写代码替换横线,不修改其他代码,实现以下功能。a和b是两个列表变量,列表a为[11,3,8]已给定,输入列表b,计算a中元素与b中对应元素乘积的累加和。例如:输入的列表b为[4,5,2],累加和为11*4+5*3+8*2=75,因此,屏幕输出的计算结果为75。试题程序:#请在程序的_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码a=[11,3,8]b=eval(input())#例如..[4,5,2]—(1)—foriin(2):s+=a[i]*b[i]print(s)

53.考生文件夹下存在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)#此行可以按照字符频次由高到低排序

参考答案

1.A文件包括文本文件和二进制文件两种类型。Python对文本文件和二进制文件采用统一的操作步骤,即“打开-操作-关闭”,B选项正确。采用文本方式读入文件,文件经过编码形成字符串,输出有含义的字符;采用二进制方式打开文件,文件被解析为字节流,A选项错误。Python通过open()函数打开一个文件,并返回一个操作这个文件的变量,语法格式为<变置名>=open(<文件路径及文件名>,<打开模式>\n),C选项正确。文件使用结束后要用clooe()方法关闭,释放文件的使用授权,语法格式为<变置名>dose()\n,D选项正确。本题选择A选项。

2.C学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,本题选择C选项。

3.B赋值运算的一般形式:变量=表达式,左边只能是变量。A选项是连续赋值,C选项是序列赋值,D选项可以写为x=x+y。本题选择B选项。

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

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

6.D

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

8.C

9.BPython中三种基本数字类型是整数类型、浮点类型、复数类型。

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

11.C

12.A在Python中,split()方法通过指定分隔符对字符串进行切片,返回分隔后的字符串列表。以split(“,”)方法从CSV文件中获得内容时,无法去除换行符。‘巴巴多斯\\n白俄罗斯’作为一个列表元素出现,所以ls=[‘巴哈马’,‘巴林’,‘孟加拉国’,‘巴巴多斯\\n白俄罗斯’,‘比利时’,‘伯利兹’],最后输出列表。本题选择A选项。

13.Crandom.randint(a,b)随机生成[a,b](包括a、b)之间的整数;random.uniform(a,b)随机生成[a,b](包括a,不包括b)之间的实数。故答案为C项。

14.C对象具有封装性,从外面看只能看到对象的外部特性,对象的内部对外是封闭的。即封装实现了将数据和操作置于对象统一体中。本题答案为C选项。

15.D在Python中,想要在列表中的任意位置插入元素,一般使用insert()方法。insert()方法有两个参数:第一个参数代表在列表中的位置,第二个参数是在这个位置处插入的元素。注意:插人时,是插入该位置之前。列表下标从0开始,S\n=[4,2,9,1],s[3]=1,则执行s.insert(3,3)后,S=[4,2,9,3,1],最后print(s),本题选择D选项。

16.B函数定义:函数是指一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可。函数最主要的作用是提高应用的模块性和代码的重复利用率,C选项错误。return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量,A选项错误。在Python中,函数可以定义在分支或循环语句的内部,D选项错误。Python通过保留字def定义函数,语法如下。def<函数名>(<非可选参数列表>,<可选参数>=<默认值>):\t<函数体>\treturn<返回值列表>可选参数一般都放置在非可选参数的后面。本题选择B选项。

17.B

18.D

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

20.D程序的异常处理模块,当try中的代码异常时,进入except语句块中,执行该处的代码;没有异常时,直接执行与try语句同级的代码或者是else后面的代码。本题选择D选项。

21.B该代码是一个匿名函数和split()方法的结合使用,split()方法把字符串words以空格分隔,返回的是列表类型。通过for循环把列表元素赋值给变量i,然后调用函数f计算每个单词的长度,所以输出的是566。

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

23.A关系SC中的主键是(S#,C#),但C#(课程号)单独就可以决定Cn(课程名),存在着对主键的部分依赖。本题答案为A选项。

24.Cfor循环将字符串PythonNCRE的字符依次赋给变量s,当s==”\nN”时,跳出for循环,故输出为Python。本题选择C选项。

25.Cptint()函数用于输出运算结果,根据输出内容不同,有3种用法:①仅用于输出字符串,格式为:print(<待输出字符串>),字符串需要用单引号或者是双引号括起来;②仅用于输出一个或多个变量,格式为:print(<变量1>,<变量2>,…<变量n>);③用于混合输出字符串与变量值,格式为:print(<输出字符串模板>.format(<变量1>,<变量2>,…<变量n>))。该题考查的是第一种用法。

26.D关系模型采用二维表来表示,简称表。本题选择D选项。

27.B

28.C列表用中括号([])表示,由于列表属于序列类型,故继承了序列类型的所有属性和方法,B项正确。索引是列表的基本操作,用于获得列表中的一个元素,该操作沿用序列类型的索引方式,即正向递增序号或反向递减序号,使用中括号作为索引操作符,索引号不得超过列表的元素范围,否则将产生IndexError错误。A项正确。列表可以进行元素增加、删除、替换、查找等操作,列表没有长度限制,元素类型可以不同,能够包含其他的组合数据类型,故D项正确、C项错误。

29.CPython中函数定义时的参数称为形参,调用时的参数称为实参。实参可以是常量、变量、表达式、函数等。调用函数时,形参用来接收实参的值。本题选择C选项。

30.C

31.N

32.Y

33.N

34.Y

35.Y

36.Y

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

38.Y

39.Y

40.Y

41.3

42.45

43.2.0

44.None

45.['3','1']

46.[1,13,89,237,100]

47.{2,3}

48.'c'

49.len()

50.[1,3,2]

51.lower=int(input(‘输入区间最小值:’))upper=int(inputs(‘输入区间最大值:’))fornuminrange(lower+1,upper):Ifnum>1:Foriin染个(2,num):If(num%i)==0:BreakElse:Print(num)题目要求输出两个整数之间(不包括这两个整数)的所有素数,因此mnge()函数的参数应为lower+1和upper。for循环遍历range(lower\r\n+l,upper)返回的每个整数num,判断该数是否为素数。如果num大于1(1既不是素数也不是合数),且该数能被取值范围为[2,num-1\r\n]的任何一个整数整除,那么该数一定不是素数,否则一定是素数。

52.a=[11,3,8]b=eval(input())S=0foriinrange(3):s+=a[i]*b[i]print(s)本题用变量S收集两个列表中对应元素乘积的和,因此要先定义变量S,第1空应填入s=0。两个列表中对应元素乘积可表示为a[i]*b[i],再求和S\r\n+=a[i]*b[i];由于列表中只有3个元素,索引从0开始,所以for循环遍历中i的取值依次为0、1、2,因此第2空应填入range(3)。

53.(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.writ

温馨提示

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

评论

0/150

提交评论