




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广东省中山市全国计算机等级考试Python语言程序设计重点汇总(含答案)学校:________班级:________姓名:________考号:________
一、单选题(30题)1.以下选项中不是Python文件读写操作方法的是()。
A.write()B.writelines()C.readtext()D.read()
2.s1='%s';s1%(s1)的输入是()
A.%sB.%%sC.%s%sD.s
3.在供应关系中,实体供应商和实体零件之间的联系是()。
A.多对多B.一对一C.多对一D.一对多
4.下面描述错误的是()。
A.对象一定有标识B.对象一定有属性和方法(或操作)C.对象具有封装性D.不同对象的同一属性一定有相同的属性值
5.下面代码的输出结果是()。f=lambdax,y:xifx<yelseya=f(“aa”,“bb”)b=f(“bb”,“aa”)print(a,b)A.aaaaB.aabbC.bbaaD.bbbb
6.S和T是两个集合,对S&T的描述正确的是()。
A.S和T的交运算,包括同时在集合S和T中的元素
B.S和T的并运算,包括在集合S和T中的所有元素
C.S和T的差运算,包括在集合S但不在T中的元素
D.S和T的补运算,包括S和T中的几个非相同元素
7.不属于Python机器学习第三方库的是()。
A.PylonsB.TensorFlowC.kernsD.mxnet
8.以下关于Python循环结构的描述中,错误的是()。
A.while循环使用关键字continue结束本次循环
B.while循环可以使用保留字break和continue
C.while循环也叫遍历循环,用来遍历序列类型中元素,默认提取每个元素并执行一次循环体
D.while循环使用pass语句,则什么事也不做,只是空的占位语句
9.对于以下程序的描述,正确的是()。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”
10.以下属于Python机器学习方向的第三方库的是()。
A.randomB.SnowNLPC.TensorflowD.loso
11.以下描述错误的是()。
A.Python是一门动态的解释型语言
B.当Python脚本程序发生异常时,如果不处理,运行结果不可预测
C.编程语言中的异常和错误是完全相同的概念
D.Python通过try、except等保留字提供异常处理功能
12.执行以下代码的结果是()A.1B.2C.5D.8
13.使用一个还未赋予对象的变量错误提示是()
A.NameErrorB.KeyErrorC.SystemErrorD.ReferenceError
14.下面关于Python中继承的说法错误的是()。
A.创建子类实例时,Python首先需要完成的任务是给父类的所有属性赋值
B.Python中,super()是一个特殊函数,帮助Python将父类和子类关联起来
C.函数super()只需要一个实参,即子类名
D.对于父类的方法,可对其进行重写,即在子类中定义一个这样的方法,它要与重写的父类名方法同名
15.以下程序的输出结果是()。foriinrange(3): forjin“dream”: ifj==“e” continue print(j,end=“”)
A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream
16.关于以下代码的描述中,正确的是()。deffact(n):s=1Foriinrange(1,n+1):s*=ireturns
A.代码中n是可选参数
B.faCt(n)函数功能为求n的阶乘
C.s是全局变量
D.mnge()函数的范围是[1,n+1]
17.生成一个k比特长度的随机整数的函数是()。
A.random.choice(k)
B.random.shuffle(k)
C.random.getrandbits(k)
D.random.sample(k)
18.以下关于Python字符编码的描述中,正确的是()。
A.Python字符编码使用ASCII值存储
B.chr(x)和ord(x)函数用于在单字符和Unicode值之间进行转换
C.print(chr('a’))输出97
D.print(ord(65))输出A
19.以下不是Python的关键字的是()。
A.classB.defC.defineD.elif
20.属于Python读取文件中一行内容的操作是()。
A.readtext()B.readline()C.readall()D.read()
21.在Python语言中,不属于组合数据类型的是()。
A.浮点数类型B.列表类型C.字典类型D.字符串类型
22.以下关于turtle库的描述,错误的是()。
A.在importturtle之后,可以用turtle.circle()语句画一个圆圈
B.seth(x)是setheading(x)函数的别名,其作用是让画笔旋转x角度
C.可以用importturtle来导入turtle库函数
D.home()函数用于设置当前画笔位置为原点,方向朝上
23.类中的实例方法,总会有一个参数()
A.selfB.clsC.@staticmethodD.@classmethod
24.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。
A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩
25.定义学生选修课程的关系模式如下:SC(S#,Sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分)该关系可进一步规范化为()。
A.S(S#,Sn,C#,Cn,Cr),SC(S#,C#,G)
B.S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)
C.C(C#,Cn,Cr),SC(S#,Sn,C#,G)
D.S(S#,Sn),C(C#,Cn),SC(S#,C#,Cr,G)
26.商品销售的售货单和商品之间的联系是()。
A.多对多B.一对多C.多对一D.一对一
27.下面代码的输出结果是()。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”
28.以下属于Python中Web开发框架第三方库的是()。
A.DjangoB.TinyDBC.audiolazyD.Pattem
29.执行以下代码的结果是?A.1B.2C.4D.异常报错
30.正则表达式中的特殊字符,匹配字母,数字,下划线()
A.\dB.\DC.\wD.\s
二、判断题(10题)31.Python采用的是基于值得自动内存管理方式。
A.是B.否
32.形参可以看做是函数内部的局部变量,函数运行结束之后形参就不可访问了。
A.是B.否
33.Python代码可以内嵌在asp文件中。
A.是B.否
34.相同内容的字符串使用不同的编码格式进行编码得到的结果并不完全相同。
A.是B.否
35.当作为条件表达式时,[]与None等价。
A.是B.否
36.元组可以作为字典的“键”。
A.是B.否
37.使用del命令或者列表对象的remove()方法删除列表中元素时会影响列表中部分元素的索引。
A.是B.否
38.Python标准库os中的方法exists()可以用来测试给定路径的文件是否存在。
A.是B.否
39.同一个列表对象中的元素类型可以各不相同。
A.是B.否
40.0o12f是合法的八进制数字。
A.是B.否
三、填空题(10题)41.Python内置函数()用来返回序列中的最小元素。
42.表达式[str(i)foriinrange(3)]的值为____________。
43.表达式int('11111',2)的值为__________。
44.已知列表x=[1,2],执行语句y=x后,表达式xisy的值为_______。
45.已知x=[1,2,3,2,3],执行语句x.remove(2)之后,x的值为____________。
46.已知列表x=[1,2],执行语句y=x[:]后,表达式xisnoty的值为_______。
47.已知x={1:2},那么执行语句x[2]=3之后,x的值为________________。
48.正则表达式模块re的______________方法用来在整个字符串中进行指定模式的匹配。
49.代码foriinrange(3):print(i,end=',')的执行结果为_________________。
50.表达式'%s'%[1,2,3]的值为_____________。
四、操作题(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.考生文件夹下存在一个文件“PY301.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请按照源文件内部说明修改代码,实现以下功能。设计一个猜字母的程序,程序随机给出26个小写字母中的一个,答题者输入猜测的字母,若输入的不是26个小写字母之一,让用户重新输入;若字母在答案之前或之后,程序给出相应正确提示;若答错5次,则答题失败并退出游戏;若回答正确,程序输出回答次数并退出游戏。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准
53.考生文件夹下存在一个文件“PY103.py”,请写代码替换横线,不修改其他代码,实现以下功能。从键盘输入一句话,用jieba库进行分词后,将切分的词组按照原话逆序输出到屏幕上,词组中间没有空格。示例如下。
输入:我爱老师输出:老师爱我
试题程序:#请在_____处使用一行代码或表达式替换
#注意:请不要修改其他已给出代码
importjiebatxt=input(”请输入一段中文文本:”)_____(1)_____foriinls[::-1]:_____(2)_____
参考答案
1.Cwrite():向文件写入一个字符或字节流;writelines():将一个元素为字符串的列表整体写入文件;read():从文件中读入整个文件内容。
2.A
3.A一家供应商可提供多种零件,一种零件也可被多家供应商提供。所以实体供应商和实体零件之间的联系是多对多。本题答案为A选项。
4.D属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变。不同对象的同一属性可以具有相同或不同的属性值。例如,张三的年龄是20,李四的年龄是18,张三、李四是两个不同的对象,他们共同的属性”年龄”的值不同。
5.Alambda关键字用来定义匿名函数。格式为<函数名>=lambda<参数列表>:<表达式〉。本题中用来比较字符串大小,因为aa>bb,所以输出均为aa。本题选择A选项。
6.AS&T返回一个新集合,包括同时在集合S和T中的元素。本题选择A选项。
7.APylons是基于Python的一个Web开发框架的第三方库,keras、TensorFlow及mxnet是Py-thon机器学习领域的第三方库。本题选择A选项。
8.CPython中循环包括两种:遍历循环和无限循环。遍历循环使用保留字for依次提取遍历结构元素进行处理;无限循环使用保留字while根据判断条件执行程序。\n循环结构有两个辅助循环控制保留字:break和continue。break用来跳出最内层for或while循环,脱离该循环后程序从循环后的代码继续执行。continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但跳不出当前循环。\npass:什么事也不做,只是空占位语句,是无运算的占位语句,当语法需要语句并且还没有任何使用的语句可写时,就可以使用它。它通常用于为复合语句编写一个空的主体。\n例如,如果想写个无限循环,每次迭代什么也不做,就写个pass。pass是有意义的,例如,忽略try语句所捕获的异常,以及定义带属性的空类对象,而该类实现的对象行为就像其他语言的结构和记录。\npass有时指的是“以后会填上”,只是暂时用于填充函数主体而已,无法保持函数体为空而不产生语法错误,因此,可以使用pass来替代。\n两者的区别是:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。
9.Clen()函数用来获取字符串的长度,所以length应为14;title()函数是把字符串每个单词的首字母变为大写,所以S_title应为”PythonlsGood”;索引的序号是从0开始的,所以s[1:6]应为“ython”,即S_number为“ython”。本题选择C选项。
10.CsnowNLP和loso是自然语言处理方向的第三方库;random库用于产生各种分布的伪随机序列,是Python的标准库。本题选择C选项。
11.C异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。错误是指导致系统不能按照用户意图工作的一切原因、事件。在程序设计过程中,由于某些错误的存在,致使程序无法正常运行,处理这些错误以使程序正确运行就称为错误处理。异常和错误是完全不同的概念。本题选择C选项。
12.C
13.A
14.C函数super()需要两个实参,分别是子类名和对象self,为了帮助Python将父类和子类关联起来,这些实参必不可少,所以C项错误。
15.Acontinue语句只结束本次循环,不终止整个循环的执行,而break语句具备结束整个循环的能力。本题外层循环用来计数,内层循环用来遍历字符串,当满足判断条件时,就会结束本次循环进入下一次循环,字符串遍历完成之后,外层循环进入下一次循环。本题选择A选项。
16.B函数定义时的语法格式如下:def<函数名>(<非可选参数列表>,<可选参数>=<默认值>):〈函数体〉return<返回值列表〉可选参数一般都放置在非可选参数的后面。本题代码中,n为非可选参数,fact(n)函数的功能为求n的阶乘。s在函数内部定义,为局部变量。根据range()函数的定义,range(l,n\n+l)的范围是[l,n],不包含n+1。本题选择B选项。
17.Crandom.choice(k)用于从序列的元素中随机挑选一个元素;random.shuffle(k)用于将序列的所有元素随机排序;random.getrandbits(k)用于生成一个k比特长度的随机整数;random.sample(k)用于随机地从指定列表中提取出k个不同的元素。本题选择C选项。
18.B在Python中,字符编码以Unicode值存储。chr(x)和ord(x)函数用于在单字符和Unicode值之间进行转换。chr(x)函数返回Unicode值对应的字符,ord(x)函数返回单字符x对应的Unicode值,如chr(1010)返回’c’,ord(”和”)返回21644。因此,选项C、D错误。本题选择B选项。
19.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选项。
20.B在Python中,文件读取方法如下(f代表文件变量)。f.read():从文件中读入整个文件内容。f.readline():从文件中读入一行内容。f.readlineS():从文件中读入所有行,以每行为元素形成一个列表。f.seek():改变当前文件操作指针的位置。本题选择B选项。
21.APython中组合数据类型包括元组、列表、字典和集合等。
22.Dturtle库的home()函数用于设置当前画笔位置为原点,朝向东。本题选择D选项。
23.A
24.C学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C项。
25.B关系SC的主键为复合键(学号,课程号),但明显存在课程号→课程名,课程号→学分等,存在非主属性对主属性的部分依赖。对关系SC进行如下的分解,就可以消除对非主属性的部分依赖,满足第二范式:S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)。本题选择B选项。
26.A一张售货单可以有多种商品的记录,一种商品也可以出现在多张售货单上。因此售货单和商品之间的联系是多对多。
27.Bappend()是向列表元素的结尾增加元素。
28.AB项是一个微型的面向文档的数据库,C项是Python的数字信号处理包,D项是Python的网络信息挖掘模块。
29.D
30.C
31.Y
32.Y
33.Y
34.Y
35.Y
36.Y
37.Y
38.Y
39.Y
40.N
41.min()
42.['0','1','2']
43.31
44.True
45.[1,3,2,3]
46.True
47.{1:2,2:3}
48.search()
49.0,1,2,
50.'[1,2,3]'
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())表示将字典类型变成列表类型,字典中的每个键值对对应列表中的一个元组。随后,对列表ls中的元组进行排序,用到sort()方法,参数“key=lambda.x:x[1]”中lambda是一个隐函数,是固定写法,不能写成别的单词;x表示列表中的一个元素,在这里表示一个元组,x只是临时起的一个名字,也可以使用任意的名字;x[1]表示以元组中第二个元素排序。sort()方法的第二参数表示是按哪种方式排序,若为“reverse=True”表示按降序排序;若该参数缺省或“reverse=False”,表示按升序排序。\r\n
排序后,列表ls中第一个元组中即为频次最高的中文字符和频次,ls[0][0]表示该字符,ls[0][1]表示其频次,将这两个元素通过“:”连接写入文件“PY301—1.txt”中。\r\n
(2)问题2和问题1的区别在于统计的字符包含标点符号,因此不需要设置字符串变量exclude和使用if条件语句进行判断;题目要求不包含回车符,因此需要使用del删除字典d中键为”\n”的元素。最后要无间隔输出前10个频次最高的字符,需要对排序好的列表ls进行for循环遍历,找到前10个元组的第一个元素,并将其直接写入到文件“PY301—2.txt”中。\r\n
(3)问题3和问题2的区别在于统计的字符中不能包含空格,因此需要使用del删除字典d中键为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蒙阴县新基建项目投资立项报告
- 2024-2030年中国人才测评行业市场发展监测及投资战略咨询报告
- 压缩天然气项目安全风险评价报告
- 2025年中国羽毛球用品行业发展潜力分析及投资方向研究报告
- 2025年中国轻纺机械行业市场发展前景及发展趋势与投资战略研究报告
- 自行车个运动主题公园项目可行性研究报告-案例
- 2025年中国原油管道行业市场深度分析及投资潜力预测报告
- 2024年陕西省电子竞技行业市场调查研究及发展战略规划报告
- 2024-2029年中国淋涂机行业市场前瞻与投资战略规划分析报告
- 2025年电动切割机项目可行性研究报告
- 城市绿化与生态环境改善
- 2024-2025学年中小学校第二学期师德师风工作计划:必看!新学期师德师风建设秘籍大公开(附2月-7月工作安排表)
- 《急性心力衰竭的急救处理》课件
- 2025年高压电工作业考试国家总局题库及答案(共280题)
- 初中图书室阅览室建设实施方案范文(2篇)
- 2024年中国养老产业商学研究报告-银发经济专题
- 印刷公司生产部2025年年度工作总结及2025年工作计划
- 2025年中考语文一轮复习:八年级下册知识点梳理
- 小班孵鸡蛋课程设计
- 糖尿病的麻醉管理
- 高教版2023年中职教科书《语文》(基础模块)下册教案全册
评论
0/150
提交评论