版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川省自贡市全国计算机等级考试Python语言程序设计知识点汇总(含答案)学校:________班级:________姓名:________考号:________
一、单选题(30题)1.在面向对象方法中,不属于“对象”基本特点的是A.一致性B.分类性C.多态性D.标识唯一性
2.在软件开发中,需求分析阶段产生的主要文档是()。
A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划
3.Python中,查看一个对象是哪种类型,使用______命令
A.isinstanceB.idC.typeD.issubclass
4.采用表结构来表示数据及数据间联系的模型是()。
A.层次模型B.概念模型C.网状模型D.关系模型
5.下面关于Python中继承的说法错误的是()。
A.创建子类实例时,Python首先需要完成的任务是给父类的所有属性赋值
B.Python中,super()是一个特殊函数,帮助Python将父类和子类关联起来
C.函数super()只需要一个实参,即子类名
D.对于父类的方法,可对其进行重写,即在子类中定义一个这样的方法,它要与重写的父类名方法同名
6.在Python中,包含矩阵运算的第三方库是()。
A.NumPyB.PyQt5C.wordcloudD.wxPython
7.以下关于Python的描述中,正确的是()。A.函数中return语句只能放在函数定义的最后面
B.定义函数需要使用保留字def
C.函数最主要的作用是复用代码
D.Python函数不可以定义在分支或循环语句的内部
8.对于字典d,以下选项对d.values()的描述正确的是()。
A.返回一个列表类型,其中包括字典d的所有值
B.返回一个dict_values类型,其中包括字典d的所有值
C.返回一个元组类型,其中包括字典d的所有值
D.返回一个集合类型,其中包括字典d的所有值
9.以下程序的输出结果是()。sum=1foriinrange(1,11):sum+=iprint(sum)
A.1B.56C.67D.56.0
10.以下程序Dog类中的__init__()方法共包含几个形参()。ClassDog(): def__init__(self,name,age) =name self.age=age
A.0个B.1个C.2个D.3个
11.以下关于Python分支的描述中,错误的是()。
A.Python分支结构使用保留字if、elif及else来实现,每个if后面必须有elif或else
B.if-elSe结构是可以嵌套的
C.if语句会判断if后面的逻辑表达式,当表达式为真时,执行if后的语句块
D.缩进是Python分支语句的语法部分,缩进不正确会影响分支功能
12.下面代码的输出结果是()。n=2deff(a):n=bool(a-2)returnnb=f(2)print(n,b)
A.20
B.0True
C.2False
D.0False
13.静态成员变量称为类变量,非静态成员变量称为实例变量,下列关于一个类的静态成员的描述中,不正确的是()
A.该类的对象共享其静态成员变量的值
B.静态成员变量可被该类的所有方法访问
C.该类的静态方法只能访问该类的静态成员变量
D.该类的静态数据成员变量的值不可修改
14.以下不属于Python的pip工具命令的是()。
A.getB.installC.showD.download
15.在Python中关于单引号与双引号的说法中正确的是()
A.Python中字符串初始化只能使用单引号
B.单引号用于短字符串,双引号用于长字符串
C.单双引在使用上没有区别
D.单引号针对变量,双引号针对常量
16.以下程序的输出结果是()。lis1=[1,2,[‘python’]]lis2=[‘loves’]lis1[1]=lis2print(lis1)
A.[lis2,2,[‘python’]]
B.[1,[‘love’],[‘python’]]
C.[1,2,‘python’,‘loves']
D.[1,2,[‘python’,‘loves’]
17.以下程序的输出结果是()。n=2deff(a): n=bool(a-2) returnnb=f(2)print(n,b)
A.20B.0TrueC.2FalseD.0False
18.以下关于Python复数类型的描述中,错误的是()。
A.复数可以进行四则运算
B.实部不可以为0
C.Python中可以使用z.real和a.imag分别获取它的实部和虚部
D.复数类型与数学中复数的概念一致
19.在Python中,进行写文件操作时定位到某个位置所用到的方法是()。
A.write()B.writeall()C.seek()D.writetext()
20.下列哪个语句在Python中是非法的?()
A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y
21.若I,j均为整形数值对象,以下哪个语句计算i被j除后的余数()
A.imodjB.i/jC.i%jD.i//j
22.下列关于Python的描述,正确的是()。
A.列表的索引是从1开始的
B.元组的元素值可以修改、删除、连接
C.字典中的“键”只能是整数、字符串
D.集合分为可变集合和不可变集合,可变集合的元素可以添加、删除
23.下面程序的输出结果是()。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’]]
24.以下属于Python中Web开发的第三方库的是()。
A.DjangoB.TinyDBC.audiolazyD.Pattern
25.关于以下代码的描述中,正确的是()。defrune(a,b):c=a**2+bb=areturnca=10b=2c=func(b,a)+a
A.执行该函数后,变量c的值为112
B.该函数名称为fun
C.执行该函数后,变量b的值为2
D.执行该函数后,变量b的值为10
26.在Python中,读入CSV文件保存的二维数据,按特定分隔符抽取信息,最可能用到的函数是()。
A.read()B.join()C.replace()D.split()
27.树的度为3,且有9个度为3的节点,5个度为1的节点,但没有度为2的节点。则该树中的叶子节点数为()。
A.18B.33C.19D.32
28.下面不属于Python的标准库的是()。
A.osB.sysC.SciPyD.glob
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.下列关于Python列表的描述错误的是()。
A.列表元素可以被修改B.列表元素没有长度限制C.列表元素的个数不限D.列表元素的数据类型必须一致
二、判断题(10题)31.全局变量会增加不同函数之间的隐式耦合度,从而降低代码可读性,因此应尽量避免过多使用全局变量。
A.是B.否
32.在编写应用程序时,应合理控制线程数量,线程并不是越多越好。
A.是B.否
33.列表对象的pop()方法默认删除并返回最后一个元素,如果列表已空则抛出异常。
A.是B.否
34.表达式pow(3,2)==3**2的值为True。
A.是B.否
35.Python字典支持双向索引。
A.是B.否
36.在函数内部,既可以使用global来声明使用外部全局变量,也可以使用global直接定义全局变量。A.是B.否
37.使用print()函数无法将信息写入文件。
A.是B.否
38.4j是合法Python数字类型。
A.是B.否
39.正则表达式对象的match()方法可以在字符串的指定位置开始进行指定模式的匹配。A.是B.否
40.正则表达式元字符“s”用来匹配任意空白字符。
A.是B.否
三、填空题(10题)41.假设正则表达式模块re已导入,那么表达式re.sub('\d+','1','a12345bbbb67c890d0e')的值为_____________________。
42.表达式set([1,2,3])=={1,2,3}的值为____________。
43.表达式sorted([13,1,237,89,100],key=lambdax:len(str(x)))的值为___________________________________。
44.已知g=lambdax,y=3,z=5:x+y+z,那么表达式g(2)的值为________。
45.表达式print(0b10101)的值为____________。
46.列表、元组、字符串是Python的_________(有序?无序)序列。
47.Python运算符中用来计算集合并集的是_______。
48.表达式''.join(re.split('[sd]','asdssfff'))的值为_______________。
49.已知x=[1,2,3],那么执行语句x[len(x)-1:]=[4,5,6]之后,变量x的值为_________________________________。
50.Python标准库__________对Socket进行了二次封装,支持Socket接口的访问,大幅度简化了网络程序的开发。
四、操作题(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.考生文件夹下存在一个文件“PY101.py”,请写代码替换横线,不修改其他代码,实现以下功能。用键盘输入正整数n,按要求把n输出到屏幕。
格式要求:宽度为30个字符,以@填充,右对齐,带千位分隔符。如果输入的正整数超过30位,则按照真实长度输出。例如:用键盘输入的正整数n为5201314,屏幕输出@@@@@@@@@@@@@@@5,201,314
试题程序:
#请在程序的处使用一行代码或表达式替换
#注意:请不要修改其他已给出代码
n=eval(input("请输入正整数”))print("{_____}".format(n))
53.考生文件夹下存在一个文件PY301.py,该文件是本题目的代码提示框架,其中代码可以任意修改。请按照源文件内部说明修改代码,实现以下功能:
设计一个猜字母的程序,程序随机给出26个小写字母中的一个,答题者输入猜测的字母,若输入的不是26个小写字母之一,让用户重新输入;若字母在答案之前或之后,程序给出相应正确提示;若答错5次,则答题失败并退出游戏;若回答正确,程序输出回答次数并退出游戏。
试题程序:
#以下代码为提示框架
#请在…处使用一行或多行代码替换
#请在______处使用一行代码替换
#注意:提示框架代码可以任意修改,以完成程序功能为准
import_________
letter_list=[’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’,’k’,’l’,’m’,’n’,
'o','p','q','r','s','t','u','v','w','x','y','z']
etter=letter_list[random.______(0,25)]
count=0
whileTrue:…
参考答案
1.A对象具有如下特性:标识唯一性、分类性、多态性、封装性、模块独立性。
2.BA选项错误,可行性分析阶段产生可行性分析报告。C选项错误,概要设计说明书是总体设计阶段产生的文档。D选项错误,集成测试计划是在概要设计阶段编写的文档。B选项正确,软件需求规格说明书是后续工作如设计、编码等需要的重要参考文档。本题选择B选项。
3.C
4.D关系模型采用二维表来表示,简称表。本题选择D选项。
5.C函数super()需要两个实参,分别是子类名和对象self,为了帮助Python将父类和子类关联起来,这些实参必不可少,所以C项错误。
6.ANumPy是Python的一种开源数值计算扩展第三方库,用于处理数据类型相同的多维数组,简称“数组”。NrnnPy可以用来存储和处理大型矩阵,其提供了许多髙级的数组编程工具,如矩阵运算、矢量处理、N维数据变换等。本题选择A选项。
7.B函数定义:函数是指一组语句的集合,这些语句通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可。函数主要的作用是提高应用的模块性和代码的重复利用率。C选项错误。return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数中的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。A选项错误。在Python中,函数可以定义在分支或循环语句的内部,D选项错误。Python通过关键字def定义函数,语法格式如下:def<函数名>(<非可选参数列表>,<可选参数>=<默认值>):〈函数体>return<返回值列表>可选参数一般都放置在非可选参数的后面。本题选择B选项。
8.Bd.vaIues()返回字典中的所有值信息,返回结果是Python的一种内部数据类型dict_values。如果希望更好地使用返回结果,可以将其转化为列表类型。本题选择B选项。
9.Bforiinrange(1,11)是将1,2,3,4,5,6,7,8,9,10依次赋给变量i,用变量sum累加每一次变化的i的值,最终sum=56。本题选择B选项。
10.D__init__()方法是一个特殊的方法,每当根据类创建新实例时,Python就会自动运行该方法。该方法的开头和结尾各有两个下划线,这是一种约定,旨在避免Python的默认方法和普通方法发生命名冲突。self、name、age都是__init__()方法的形参,所以共3个。本题选择D选项。
11.APython分支结构使用关键字if、elif及else来实现,每个if后面不一定要有elif或else,A项错误;if-else结构是可以嵌套的,B项正确;if语句会判断if后面的逻辑表达式,当表达式为真时,执行if后的语句块,C项正确;缩进是Python分支语句的语法部分,缩进不正确会影响分支功能,D选项正确。本题选择A选项。
12.C这段代码是全局变量、局部变量以及Python内置函数bool()的一个结合。在函数内部的局部变量名和函数外部全局变量名相同时,调用函数时,总是先找到函数内部的局部变量名,所以当a为2时,经过布尔型转换之后的a\r\n-2,即b为False,而在函数外部只能访问全局变量名,所以n仍为2,本题选择C选项。
13.D
14.Ainstall命令用于安装第三方库;show命令是列出某个已经安装的库的详细信息;download命令用于下载第三方库的安装包,但并不安装。get不属于pip工具的命令。本题选择A选项。
15.C
16.B列表索引从0开始,lisl[1]=lis2是为列表lis2赋值并覆盖lisl[1]位置上的元素,运算后lis1=[1,[‘loves’],[‘python’]]。本题选择B选项。
17.C这段代码是全局变量、局部变量以及Python内置函数bool()的一个结合。当函数内部的局部变量名和函数外部全局变量名相同,调用函数时,总是先找到函数内部的局部变量名,所以当a为2时,经过布尔型转换之后的a-2,即b为False,而在函数外部只能访问全局变量名,所以n仍为2。本题选择C选项。
18.B在Python中,复数类型表示数学中的复数,D选项正确。复数可以看作二元有序实数对(a,b),表示a+bj,其中a是实数部分,简称实部;b是虚数部分,简称虚部。虚数部分通过后缀“J”或“j”来表示,实部、虚部都可为0,B选项错误。复数可以进行四则运算,A选项正确。复数类型中,实部和虚部都是浮点类型。对于复数z,可以使用z.real和a.imag分别获取它的实部和虚部,C选项正确。本题选择B选项。
19.C在Python中,进行写文件操作时定位到某个位置所用到的方法是seek()。设f为文件变量,用法为f.\nseek(offset);含义为改变当前文件操作指针的位置;offset的值为0表示文件开头,为2表示文件结尾。本题选择C选项。
20.B赋值运算的一般形式:变量=表达式,左边只能是变量。A选项是连续赋值,C选项是序列赋值,D选项可以写为x=x+y。本题选择B选项。
21.C
22.D列表的索引是从0开始的;元组的元素值可以连接,但不能被修改、删除;字典中的“键”可以是整数或者字符串,但也可以是函数、元组、类等任意不可变类型。本题选择D选项。
23.B列表索引从0开始,lisl[l]=lis2是将列表lis2赋值并覆盖lisl[l]位置上的元素,运算后lisl=[1,[\nloves'],[’python']]。本题选择B选项。
24.AB选项是一个微型的面向文档的数据库,C选项是Python的数字信号处理包,D选项是Python的网络信息挖掘模块。本题选择A选项。
25.C程序中,将实参b的值传给形参a,将实参a的值传给形参b,则在函数体中c=2**2+10=14,函数返回14,则实参c=14+10=24;形参a和b在函数结束后会自动释放,并没有影响到实参a和b的值,故实参a仍然是10,实参b仍然是2。
26.D在Python中,读取CSV文件中的二维码数据采用遍历循环和字符串的split()方法相结合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本题选择D选项。
27.C设叶子结点数为〃,则该树的结点数为n+9+5=n+\n14,根据树中的结点数=树中所有结点的度之和+1,得9×3+0×2+5×1+n×0+1=n+14,则n=19。本题选择C选项。
28.CSciPy是Python数据分析方向的第三方库。本题选择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.D列表没有长度限制,元素类型可以不同,不需要预定义长度。列表可以进行元素的增加、删除、替换、查找等操作。
31.Y
32.Y
33.Y
34.Y
35.N
36.Y
37.N
38.Y
39.Y
40.Y
41.'a1bbbb1c1d1e'
42.True
43.[1,13,89,237,100]
44.1010
45.21
46.有序
47.|
48.'afff'
49.[1,2,4,5,6]
50.socket
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]表示其频次,将这两个元素通过“:”连接写入文件“PY301—1.txt”中。(2)问题2和问题1的区别在于统计的字符包含标点符号,因此不需要设置字符串变量exclude和使用if条件语句进行判断;题目要求不包含回车符,因此需要使用del删除字典d中键为”\\n”的元素。最后要无间隔输出前10个频次最高的字符,需要对排序好的列表ls进行for循环遍历,找到前1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45138-2024干扰素抗病毒活性评价技术规范
- 感恩节的精彩发言稿
- 保护知识产权我们在行动
- 踝关节镜下后侧入路切除跟距骨桥与(足母)长屈肌腱减压松解术治疗跟距骨桥的临床研究
- 初级会计经济法基础-初级会计《经济法基础》模考试卷514
- 温度差下一维两分量玻色气体的输运性质
- 二零二五版消防通道扩建整改工程合同
- 二零二五年度汽车销售委托代理合同规范文本3篇
- 二零二五年度绿色能源汽车抵押借款合同2篇
- 知识产权管理制度介绍培训
- 新疆乌鲁木齐地区2025年高三年级第一次质量监测生物学试卷(含答案)
- 卫生服务个人基本信息表
- 苗圃建设项目施工组织设计范本
- 广东省湛江市廉江市2023-2024学年八年级上学期期末考试数学试卷(含答案)
- 学校食品安全举报投诉处理制度
- 安徽省芜湖市2023-2024学年高一上学期期末考试 生物 含解析
- 交叉口同向可变车道动态控制与信号配时优化研究
- 安华农业保险股份有限公司北京市地方财政生猪价格指数保险条款(风险敏感型)
- 技术交易系统的新概念
- 通用电子嘉宾礼薄
- (完整word版)英语四级单词大全
评论
0/150
提交评论