江西省宜春市全国计算机等级考试Python语言程序设计预测试题(含答案)_第1页
江西省宜春市全国计算机等级考试Python语言程序设计预测试题(含答案)_第2页
江西省宜春市全国计算机等级考试Python语言程序设计预测试题(含答案)_第3页
江西省宜春市全国计算机等级考试Python语言程序设计预测试题(含答案)_第4页
江西省宜春市全国计算机等级考试Python语言程序设计预测试题(含答案)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

江西省宜春市全国计算机等级考试Python语言程序设计预测试题(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.以下描述错误的是()。

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

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

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

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

2.以下代码的输出结果是()。CLis=list(range(5))print(5inCLis)

A.TrueB.FalseC.0D.一1

3.以下程序的输出结果是()。try:print((3+4j)*(3-4j))except:print(”运算错误!!”)

A.(25+0j)B.5C.运算错误!!D.3

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

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

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

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

6.以下程序的输出结果是()。foriin”miss”:forjinrange(3):print(i,end=”)ifi==”i”:break

A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss

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

A.函数eVal()可以用于数值表达式的求值,如eval("2*3+1”)

B.Python中,def和return是函数必须使用的保留字

C.Pythcm函数定义中没有对参数指定类型,这说明参数在函数中可以当作任意类型使用

D.—个函数中只允许有一条return语句

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

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

9.以下不是Python文件读写方法的是()。

A.writelineB.readlineC.readD.write

10.在Python中,可以作为源文件扩展名的是()。

A.pdfB.docxC.pngD.py

11.以下程序的输出结果是()。ls=[[1,2,3],‘python’[[4,5,‘ABC’],6],[7,8]]print(ls[2][1])

A.‘ABC’B.pC.4D.6

12.下列关于列表的说法正确的是()。

A.列表中的值可以是任何数据类型,被称为元素或项

B.列表的索引序号是从1开始的,以此类推

C.使用append()函数可以向列表的指定位置插入元素

D.使用remove()函数可以从列表中删除元素,但必须知道元素在列表中的位置

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

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

14.下面关于递归函数,描述错误的是()。

A.递归函数必须有一个明确的结束条件

B.递归函数就是一个函数在内部调用自身本身

C.递归效率不高,递归层次过多会导致栈溢出

D.每进入更深一层的递归时,问题规模相对于前一次递归是不变的

15.如果文件a.txt在目录“C:\\A”下,执行以下代码会发生的操作是()。importosos.rmdir(r'C:\\A’)

A.删除文件夹A,保留文件a.txt

B.删除文件夹A和文件a.txt

C.删除文件a.txt,保留文件夹A

D.OSError

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

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

B.defvfunc(a=3,b):

C.defvfunc(a,**b):

D.defvfunc(a,b=2):

17.下面关于Python中的变量描述错误的是()。

A.全局变量和局部变量两者的本质区别就是在于作用域

B.全局变量在函数内部和函数外部都可以访问使用

C.局部变量也可以在函数外部使用

D.在函数内部要对全局变量进行修改,需要加上global声明

18.以下属于Python中Web开发框架第三方库的是()。

A.DjangoB.TinyDBC.audiolazyD.Pattem

19.下面代码的输出结果是()。foriinreversed(range(7,4,-1)):print(i,end=””)

A.7654B.765C.567D.4567

20.以下程序的输出结果是()。a,b,c=’I’,chr(64),”you”s=a+b+Cprint(s)

A.I@youB.IyouC.I4youD.Ichr(64)you

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

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

22.关于数据组织的维度描述正确的是()。

A.二维数据由对等关系的有序或无序数据构成

B.高维数据由关联关系数据构成

C.CSV是一维数据

D.一维数据采用线性方式存储

23.关于Python文件打开模式,表示错误的是()。

A.rtB.nbC.abD.wt

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

A.一1B.TrueC.FalseD.0

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

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

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

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

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

26.以下关于组合类型的描述,正确的是()。

A.空字典可以用大括号来创建

B.可以用set创建集合,用中括号和赋值语句增加新元素

C.字典数据类型里可以用列表做键

D.字典的items()函数返回一个键值对,并用元组表述

27.以下关于Python函数的描述中,错误的是()。

A.Python程序的main()函数可以改为其他名称

B.如果Python程序包含一个函数main(),这个函数与其他函数地位相同

C.Python程序可以不包含main()函数

D.Python程序需要包含一个main()函数且只能包含一个main()函数

28.以下关于Python的描述中,正确的是()。A.条件4<=5<=6是合法的,输出False

B.条件4<=5<=6是不合法的

C.条件4<=5<=6是合法的,输出True

D.条件4<=5<=6是不合法的,拋出异常

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

30.对以下代码的输出描述正确的是()。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

二、判断题(10题)31.已知seq为长度大于10的列表,并且已导入random模块,那么[random.choice(seq)foriinrange(10)]和random.sample(seq,10)等价。

A.是B.否

32.使用内置函数open()打开文件时,只要文件路径正确就总是可以正确打开的。

A.是B.否

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

A.是B.否

34.使用内置函数open()且以”w”模式打开的文件,文件指针默认指向文件尾。

A.是B.否

35.对于大量列表的连接,extend()方法比运算符+具有更高的效率。

A.是B.否

36.4j是合法Python数字类型。

A.是B.否

37.元组可以作为字典的“键”。

A.是B.否

38.在编写应用程序时,应合理控制线程数量,线程并不是越多越好。

A.是B.否

39.假设re模块已成功导入,并且有pattern=pile('^'+'\.'.join([r'\d{1,3}'foriinrange(4)])+'$'),那么表达式pattern.match('03')的值为None。

A.是B.否

40.在调用函数时,可以通过关键参数的形式进行传值,从而避免必须记住函数形参顺序的麻烦。

A.是B.否

三、填空题(10题)41.表达式'C:\\Windows\\notepad.exe'.startswith('C:')的值为_________。

42.在函数内部可以通过关键字()来定义全局变量()。

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

44.表达式print(0b10101)的值为____________。

45.表达式re.split('\.+','alpha.beta...gamma..delta')的值为_______________________。

46.语句print(re.match('abc','defg'))输出结果为_____________。

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

48.表达式'Helloworld!'[-4]的值为________________。

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

50.表达式5if5>6else(6if3>2else5)的值为_________。

四、操作题(3题)51.考生文件夹下存在3个Python源文件,分别对应3个问题;1个文本文件,作为本题目输入数据,请按照源文件内部说明修改代码,实现以下功能:

《卖火柴的小女孩》是丹麦童话故事作家安徒生的一篇童话故事,发表于1846年。主要讲了一个卖火柴的小女孩在富人阖家欢乐、举杯共庆的大年夜冻死在街头的故事。这里给出《卖火柴的小女孩》的一个网络版本文件,文件名为“小女孩.txt”。问题1:在PY301—1.py文件中修改代码,对“小女孩.txt”文件进行字符频次统计,输出频次最高的中文字符(不包含标点符号)及其频次,字符与频次之间采用英文冒号”:”分隔,将输出结果保存在考生文件夹下,命名为"PY301—1.txt"。示例格式如下:的:83

试题程序:#以下代码为提示框架

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

#请在________处使用一行代码替换

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

fo=open(”PY301—1.txt”,”w”)

d={}

fo.write(”{}:{}”.format(__________))

fo.close()问题2:在PY301—2.py文件中修改代码,对“小女孩.txt”文件进行字符频次统计,按照频次由高到低,输出前10个频次最高的字符,不包含回车符,字符之间无间隔,连续输出,将输出结果保存在考生文件夹下,命名为“PY301—2.txt”。示例格式如下:,的一…(后略,共10个字符)

试题程序:

#以下代码为提示框架

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

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

fo=open(”PY301一2.txt”,“w”)d={}ls=list(d.items())

ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照词频由高到低排序

问题3:在PY301一3.py文件中修改代码,对“小女孩.txt”文件进行字符频次统计,将所有字符按照频次从高到低排序,字符包括中文、标点、英文等符号,但不包含空格和回车。将排序后的字符及频次输出到考生文件夹下,文件名为“小女孩一频次排序.txt”。字符与频次之间采用英文冒号”:”分隔,各字符之间采用英文逗号”,”分隔,参考CSV格式,最后无逗号,文件内部示例格式如下:

着:30,那:29,火:29

试题程序:

#以下代码为提示框架

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

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

d={}

ls=list(d.items())

ls.sort(key=lambdax:x[1],reverse=True)}}#此行可以按照词频由高到低排序

52.考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:使用循环输出从1到50之间的奇数。

试题程序:

#请在_____处使用一行代码或表达式替换

#注意:请不要修改其他已给出代码______whilecount<50:

ifcount%2==0:

print(count,end=”,”)

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

参考答案

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

2.Brange()函数的语法:range(start,stop,step),作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列(注意不包含数stop),step是步进参数。cLis=list(range(5)),生成一个列表,包含0,1,2,3,4。因为5不在CLis列表中,故返回False。

3.A(3+4j)*(3-4j)是复数的乘法运算。设c1=a+bj,c2=c+dj(a、b、c、d均为实数),c1*c2=\n(ac-bd)+(bc+ad)j0结果是(25+0j)。本题选择A选项。

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

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

6.B外层for循环依次将字符串“miss”中的字符赋给变量i,内层for控制循环3次,注意是先执行print()再判断if条件,输出第一个“i”后,碰到if判断条件,当i==“i”时退出内层循环,所以结果为mmmissssss。本题选择B选项。

7.A在Python中,return语句用来结束函数并将程序返回到函数被调用的位置继续执行。re-turn\n语句可以出现在函数的任何部分,可以同时将0个、1\n个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return语句,此时函数并不返回值。B、D选项错误。Python函数定义中没有对参数指定类型,则函数内的默认值参数是对函数的默认值参数属性__defaults__的引用,C选项错误。eval()函数将去掉字符串最外侧的引号,并按照Python语句方式执行去掉引号后的字符内容,使用方式为<变量>=eval(\n<字符串>),其中变量用来保存对字符串内容进行Python运算的结果,故函数eval()可以用于数值表达式的求值,如eval(”2*\n3+1”)=7。本题选择A选项。

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

9.APython文件的读写方法有(file表示使用open函数创建的对象):\nfile.read([size]):参数可选,若未给定参数或参数为负则读取整个文件内容;若给出参数,则读取前size长度的字符串或字节流。\nfile.readline([size]):参数可选,若未给定参数或参数为负则读取一行内容;若给出参数,则读取该行前size长度的字符串或字节流。\nfile.readlines([hint]):参数可选,若未给定参数或参数为负则从文件中读取所有行,以每行为元素形成一个列表;若给出参数,则读取hint行。\nfile.write(str):将字符串或字节流写入文件。\nfile.writelines(1ines):向文件写入一个序列字符串列表。

10.DPython源文件的扩展为py。本题选择D选项。

11.D列表索引从0开始,所以k[2][1]指的是列表中索引为2的元素下索引为1的元素,输出结果是6。本题选择D选项。

12.A列表的索引序号是从0开始的,以此类推;使用append()函数可以向列表插入元素,但只能插入到列表的末尾;使用remove(x)函数是将列表中出现的第一个x元素删除。

13.C

14.DA选项正确,递归函数必须要有一个明确的结束条件作为递归的出口;B选项正是递归函数的含义,正确;C选项正确,在计算机中,函数调用是通过栈这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧,由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出;D选项,每当进入更深一层的递归时,问题规模显然会相对前一次递归减小。

15.D使用rmdir()删除目录之前要先清除其中所有的文件,否则会报OSError错误。本题选择D选项。

16.B函数定义时的语法如下:\ndef<函数名>(<非可选参数列表>,<可选参数>=<默认值>):\n<函数体>\nreturn<返回值列表>\n可选参数一般放置在非可选参数的后面。B项错误。

17.C局部变量是指在函数内部使用的变量,仅在函数内部有效,当函数使用过后,变量从内存中释放,所以C选项错误。

18.AB项是一个微型的面向文档的数据库,C项是Python的数字信号处理包,D项是Python的网络信息挖掘模块。

19.Crange([start,]stop[,step=1\n])函数有3个参数,用来生成一个从start参数的值开始,到stop参数的值结束的数字序列,步长step默认为1,区间为左闭右开。而reVerSed()函数用于反转列表中的元素。本题选择C选项。

20.A程序中,chr(64)输出的是字符@,之后用”+”连接字符串,最后输出I@you。本题选择A选项。

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

22.D二维数据由关联关系的数据构成,因此A项错误;高维数据由键值对类型的数据构成,因此B项错误;CSV是一种通用的、相对简单的文件格式,不仅可以保存一维数据,还可以保存二维数据,因此C项错误。

23.BPython中open()函数提供了7种基本的文件打开模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+组合使用。故表示错误的是B项。

24.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会输出不同的结果。

25.A列表的索引值也可以是负整数,如1[-1]就代表列表1的最后一个元素。本题选择A选项。

26.A集合中可以使用add()方法增加新元素,不能使用中括号来添加,B项错误;字典数据类型必须用不可变的元素做键,而列表是可变的,不能做键,C项错误;字典的items()函数返回的是所有的键值对,D项错误。故正确答案为A项。

27.DPython是一种脚本解释语言,与C/C++和Java有很大的区别,没有main()函数。当运行单个Python文件时,如文件名为a.\npy,则a的属性_name_==’_main_’并不是首先执行main()函数。Py-thon整个程序自顶向下顺序执行。本题选择D选项。

28.C判断条件4<=5<=6是成立的,故输出True。本题选择C选项。

29.D遍历列表letter,当i==’D’时,执行letter.removeG),此时列表letter:\n[‘A’,’B’,’C’,'D’];再遍历当i==\n‘D’,执行letter.remove(i),此时列表letter=['A’,’B’,’C’,’D’]。因为列表的元素个数随着“D”元素的删除而减小,当删除第一个“D”元素之后,列表元素的个数即变为5,for循环又是控制循环次数的,因此只遍历5次,当第二个“\nD”元素删除时,循环结束。本题选择D选项。

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

31.N

32.N

33.Y

34.N

35.Y

36.Y

37.Y

38.Y

39.N

40.Y

41.True

42.global

43.{1:2,2:3}

44.21

45.['alpha','beta','gamma','delta']

46.None

47.4

48.'r'

49.[3,2]

50.6

51.(1)fi=open("小女孩.txt","r")\r\nfo=open(”PY301—1.txt”,”w”)\r\ntxt=fi.read()\r\nd={}\r\nexclude=",。!?、()【】<>《》=:+-*-“”…"\r\nforwordintxt:\r\n

ifwordinexclude:\r\n

continue\r\n

else:\r\n

d[word]=d.get(word,0)+1\r\nls=list(d.items())\r\nls.sort(key=lambdax:x[1],reverse=True)\r\n

fo.write(”{}:{}”format(ls[0][0],ls[0][1]))\r\n

fo.close()\r\n

(2)fi=open("小女孩.txt","r")\r\n

fo=open(”PY301—2.txt”,”w”)\r\n

txt=fi.read()\r\n

d={}\r\n

forwordintxt;\r\n

d[word]=d.get(word,0)+1\r\ndeld["\\n"]\r\n

ls=list(d.items())\r\n

ls.sort(key=lambdax:x[1],reverse=True)#此行可以按照词频由高到低排序\r\n

foriinrange(10);\r\n

fo.write(ls[i][0])\r\n

fi.close()\r\n

fo.close()

(3)fi=open("小女孩.txt","r")\r\nfo=open(小女孩-频次排序。txt","w")\r\ntxt=fi.read()\r\nd={}\r\nforwordintxt\r\nd[word]=d.get(word,0)+1\r\ndeld[""]\r\ndeld["\\n"]\r\nls=list(d.items())\r\nls.sort(key=lambdax:x[1],reverse=True)#此行可以按照词频由高到低排序\r\nforiinrange(len(ls)):\r\nls[i]="{}:{}".format(ls[i][0],ls[i][1])\r\nfo.write(",".join(ls))\r\nfi.close()\r\nfo.close()(1)首先使用open()函数打开文件“小女孩.txt”,把文件的内容通过read()方法保存到变量txt中;定义一个字符串变量exclude用来存放标点符号。然后用for循环遍历txt中的每个字符(word),并使用if条件进行判断,若该字符在变量exclude中,说明该字符为标点符号,跳出该循环;否则将该字符作为字典d中的一个键,该键所对应的值置为1,在后面循环中只要遍历的字符与该键相同,就将该键对应的值加1。\r\n

ls=list(d.items())表示将字典类型变成列表类型,字典中的每个键值对对应列表中的一个元组。随后,对

温馨提示

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

评论

0/150

提交评论