江西省萍乡市全国计算机等级考试Python语言程序设计专项练习(含答案)_第1页
江西省萍乡市全国计算机等级考试Python语言程序设计专项练习(含答案)_第2页
江西省萍乡市全国计算机等级考试Python语言程序设计专项练习(含答案)_第3页
江西省萍乡市全国计算机等级考试Python语言程序设计专项练习(含答案)_第4页
江西省萍乡市全国计算机等级考试Python语言程序设计专项练习(含答案)_第5页
已阅读5页,还剩16页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

江西省萍乡市全国计算机等级考试Python语言程序设计专项练习(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.在软件开发中,需求分析阶段产生的主要文档是()。

A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划

2.以下代码的输出结果是()。whileTrue:guess=eval(input())ifguess==0x452//2:breakprint(guess)

A.0x452B.breakC.553D.”0x452//2”

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

A.-1B.TrueC.FalseD.0

4.下面代码的输出结果是()。a=1deffun(a):a=a+2returnaprint(a,fun(a))

A.1,1B.1,3C.3,3D.3,1

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

A.While循环只能用来实现无限循环

B.所有的for分支都可以用while循环改写

C.保留字break可以终止一个循环

D.continue可以停止后续代码的执行,从循环的开头重新执行

6.以下关于函数的定义与编写的描述,错误的是()。

A.函数是代码复用的一种方式

B.在Python中,使用关键字define定义函数

C.定义函数时,即使函数不需要接收任何参数,也必须保留一对空括号来表示这是一个函数

D.编写函数时,一般建议先对参数进行合法性检查,然后再进行编写

7.安装一个第三方库的命名格式是()。

A.pipuninstall<第三方库名>

B.pipinstall<第三方库名>

C.pipdownload<第三方库名>

D.pipsearch<第三方库名>

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

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

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

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

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

9.在Python中,IPO模式不包括()。

A.Program(程序)B.Input(输入)C.Process(处理)D.Output(输出)

10.在Python的类定义中,对函数变量的访问形式为()。

A.<对象>.<变量>B.<对象>.方法(变量)C.<类名>.<变量>D.<对象>.方法(变量)

11.—个类继承另一个类,那么被继承的这个类被称为()。

A.超类B.子类C.类D.继承类

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

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

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

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

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

13.以下方法能返回列表数据类型的是()。

A.s.center()B.s.strip()C.s.replace()D.s.split()

14.下面代码的输出结果是()。foriinrange(3):forjin”dream”:ifj=="e":continueprint(j,end="")

A.dramdramdramB.drdrdrC.dreamdreamdreamD.dream

15.软件生命周期是指()。A.软件产品从提出、实现、使用维护到停止使用退役的过程

B.软件从需求分析、设计、实现到测试完成的过程

C.软件的开发过程

D.软件的运行维护过程

16.给以下程序填空,使得输出到文件a.txt里的内容是‘90’,‘87’,‘93’的选项是()。y=[‘90’,‘87’,‘93’]l=‘’withopen(“a.txt”,‘w’)asfo: forziny: __________ fo.write(1.strip(‘,’))

A.l=‘,’.join(y)

B.l+=“‘{}’”.format(z)

C.l+=“‘{}’”.format(z)+‘,’

D.l+=‘{}’.format(z)+‘,’

17.下面关于Python中模块导入的说法错误的是()。

A.Python可以导入一个模块中的特定函数

B.用逗号分隔函数名,可根据需要从模块中导入任意数量的函数

C.使用井号运算符(#)可以导入模块中的所有函数

D.Python中可以给模块指定别名,通过给模块指定简短的别名,可更轻松调用模块中函数

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

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

B.defvfunc(a=3,b):

C.defvfunc(a,**b):

D.defvfunc(a,b=2):

19.关于函数定义,以下形式错误的是()。

A.deffoo(*a,b)

B.deffoo(a,b=10)

C.deffoo(a,*b)

D.deffoo(a,b)

20.软件设计中模块划分应遵循的准则是()。A.低内聚低耦合

B.高内聚低耦合

C.低内聚高耦合

D.高内聚高耦合

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

A.print(tstr[4:7])

B.print(tstr[5:7])

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

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

22.下面不是“+”的用法的是()。

A.字符串连接B.逻辑与C.算术加法D.单目运算

23.以下程序的输出结果是()。foriin”Nation”:forkinrange(2):ifi==’n’:breakprint(i,end=””)

A.aattiiooB.NNaattiiooC.NaattiioonD.aattiioonn

24.以下程序的输出结果是()。t=10.5defabove_zero(t): returnt>0

A.TrueB.FalseC.10.5D.没有输出

25.生成一个k比特长度的随机整数的函数是()。

A.random.choice(k)

B.random.shuffle(k)

C.random.getrandbits(k)

D.random.sample(k)

26.以下代码的输出结果是()。forsin“PythonNice!":ifs=="i”:breakprint(s,end=””)

A.PythonB.PythonNC.PythonNiD.PythonNice

27.类中的实例方法,总会有一个参数()

A.selfB.clsC.@staticmethodD.@classmethod

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

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

29.正则中的^符号,用在一对中括号中则表示要匹配()

A.字符串的开始B.除中括号内的其它字符C.字符串的结束D.仅中括号内含有的字符

30.在Python语言中,用于数据分析的第三方库是()。

A.OpenCVB.matplotlibC.numpyD.scrapy

二、判断题(10题)31.一般来说,Python扩展库没有通用于所有版本Python的,安装时应选择与已安装Python的版本对应的扩展库。

A.是B.否

32.正则表达式元字符“^”一般用来表示从字符串开始处进行匹配,用在一对方括号中的时候则表示反向匹配,不匹配方括号中的字符。

A.是B.否

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

A.是B.否

34.无法配置IIS来支持Python程序的运行。

A.是B.否

35.在Python3.5中运算符+不仅可以实现数值的相加、字符串连接,还可以实现列表、元组的合并和集合的并集运算。

A.是B.否

36.集合可以作为元组的元素。

A.是B.否

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

A.是B.否

38.对文件进行读写操作之后必须显式关闭文件以确保所有内容都得到保存。

A.是B.否

39.使用del命令或者列表对象的remove()方法删除列表中元素时会影响列表中部分元素的索引。

A.是B.否

40.假设已成功导入os和sys标准库,那么表达式os.path.dirname(sys.executable)的值为Python安装目录。

A.是B.否

三、填空题(10题)41.已知x=[[1]]*3,那么执行语句x[0][0]=5之后,变量x的值为________________。

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

43.Python3.x语句foriinrange(3):print(i,end=',')的输出结果为_____________________。

44.表达式round(3.4)的值为___________。

45.表达式set([1,1,2,3])的值为____________________。

46.已知字典x={i:str(i+3)foriinrange(3)},那么表达式''.join([item[1]foriteminx.items()])的值为_____________。

47.列表对象的sort()方法用来对列表元素进行原地排序,该函数返回值为

48.已知函数定义deffunc(**p):return''.join(sorted(p)),那么表达式func(x=1,y=2,z=3)的值为__________。

49.转义字符’\n’的含义是___________________。

50.表达式len('Helloworld!'.ljust(20))的值为_________。

四、操作题(3题)51.考生文件夹下存在一个Python源文件“PY301.py”,请按照文件内说明修改代码,实现以下功能。恺撒密码是一种非常古老的加密算法,相传当年恺撒大帝行军打仗时为了保证自己的命令不被敌军知道,它采用了替换方法将信息中的每一个英文字母循环替换为字母表序列中该字母后面的第三个字母,即循环后三位,对应关系如下。原文:ABCDEFGHIJKLMNOPQRSTUVWXYZ密文:DEFGHIJKLMNOPQRSTUVWXYZABC原文字母P,其密文字母C满足如下条件。C=(P+3)mod26解密方法反之,满足如下条件。P=(C-3)mod26恺撒密码包括加密算法和解密算法两个部分。恺撒密码的加密算法程序首先接收用户输入的文本,然后对字母a?z和字母A?Z按照密码算法进行转换,同时输出。其他非英文字母原样输出。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意..提示框架的代码可以任意修改,以完成程序功能为准intxt=input(“请输入明文:")

52.考生文件夹下存在一个文件“PY103.py”,请写代码替换横线,不修改其他代码,实现以下功能。用键盘输入十进制整数,按要求将这个整数转换为二进制、八进制及十六进制(大写)并输出到屏幕。例如:输入数字:425对应的二进制数:110101001对应的八进制数:651对应的十六进制数:1A9试题程序:#请在_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码num=eval(input("输入数字:"))print("对应的二进制数:{_____(1)_____}\n八进制数:{_____(2)_____}\n十六进制数:{_____(3)_____}".format(num))试题答案:num=eval(input("输入数字:”))Print(”对应的二进制数:{0:b}\n八进制数:{0:o}\n十六进制数:{0:x}”.format(num))

53.考生文件夹下存在一个文件“PY102.Py”,请写代码替换横线,不修改其他代码,实现以下功能。用键盘输入一段文本,保存在一个字符串变量s中,分别用Python内置函数和jieba库中已有函数计算字符串s的中文字符个数和中文词语个数。注意:中文字符包含中文标点符号。示例格式如下。

键盘输入:科技是第一生产力屏幕输出:中文字符数为8,中文词语数为4。

试题程序:#请在程序的处使用一行代码或表达式替换

#注意:请不要修改其他已给出代码importjiebas=input("请输入一个字符串")n=_____(1)_____m=_____(2)_____print("中文字符数为{},中文词语数为{}format(n,m))

参考答案

1.BA项错误,可行性分析阶段产生可行性分析报告。C项错误,概要设计说明书是总体设计阶段产生的文档。D项错误,集成测试计划是在概要设计阶段编写的文档。B项正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。

2.C该程序最外层是while循环,while循环的条件是True,由此可知while内的语句会无限循环。input()函数是用来获取用户从键盘输入的内容并以字符串类型返回。eval()函数是把字符串转换成Python可用的语言。if语句的作用是来控制程序是否继续循环,判断条件中0x452是十六进制数,对2整除的结果是553,如果用户输入的数据是553,则将结果输出并终止循环;如果输入其他数据,程序会一直要求用户输入直到输入正确的数据才会终止循环。本题选C选项。

3.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的分数。二进制中,1/2、1/4及1/8都可以被精确表示,但1/5或者1/10就变成了循环小数。所以,在十进制中能够精确表示的0.1与0.2(1/10与1/5),到了计算机所使用的二进制中就变成了循环小数。当对这些循环小数进行数学运算并将二进制数据转换成人类易读的十进制数据时,会对小数尾部进行截断处理。在不同的编程语言中,运行0.1+0.2会输出不同的结果。本题选择C选项。

4.B在函数中传入的实参的值是1,函数执行完后函数内局部变量a为3,而函数中的局部变量a与函数外的全局变量a互不相干,所以全局变量a在函数执行完任然是1,所以B项正确。

5.APython中循环包括两种:遍历循环和无限循环。遍历循环使用保留字for依次提取遍历结构元素进行处理;无限循环使用保留字while根据判断条件执行程序。如果while中判断条件可以执行一次或两次,while中的语句块也就执行一次或两次,A项错误。循环结构有两个辅助循环控制保留字:break和continue。break用来跳出最内层for或while循环,脱离该循环后程序从循环后的代码继续执行;continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但跳不出当前循环。两者的区别是:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。C、D两项正确。所有的for分支都可以用while循环改写,B项正确。本题选A选项。

6.B在Python中,使用关键字def定义函数。

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

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

9.A程序设计IPO模式内容如下。I:Input(输入),程序的输入。程序的输入包括文件输入、网络输入、控制台输入、随机数据输入、程序内部参数输入等。输入是一个程序的开始。P:Process(处理),程序的主要逻辑。程序对输入进行处理,输出产生结果。处理的方法也叫算法,是程序最重要的部分。可以说,算法是一个程序的主要灵魂。O:Output(输出),程序的输出。程序的输出包括屏幕显示输出、文件输出、网络输出、操作系统内部变量输出等。输出是一个程序展示运算成果的方式。本题选择A选项。

10.A访问函数的变量时,需要使用点表示法:<对象>.<变量名>。本题选择A选项。

11.A一个类继承另一个类,那么被继承的这个类被称为超类或者父类。本题选择A选项。

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

13.Ds.center()方法的作用是字符串居中。s.strip()方法的作用是从字符串s中去掉其左右两侧指定的字符,返回的是字符串。s.replace(old,new)方法的作用是返回字符串s的副本,所有old子串被替换为new。s.split()方法的作用是返回一个列表,若有参数,则s根据参数分隔;若省略参数,则默认以空白符分隔。本题选择D选项。

14.Acontinue语句只结束本次循环,不终止整个循环的执行,而break语句具备结束循环的能力。本题外层循环用来计数,内层循环用来遍历字符串,当满足判断条件时,就会结束本次循环进入下一循环,字符串遍历完成之后,外层循环进入下一循环。本题选择A选项。

15.A通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

16.C由题意可知,写入文件的是‘90’,‘87’,‘93’,字符之间有逗号分隔。A选项是将字符通过逗号连接成形如‘90’,‘87’,‘93’的字符串;B选项没有使用逗号分隔;D选项由于在花括号({})外部没有使用引号,相加的结果为本题选择C选项。

17.CPython中导入模块中的所有函数用的是星号运算符而不是井号运算符。本题选择C选项。

18.B函数定义时的语法如下。def<函数名>(<非可选参数列表>,<可选参数>=<默认值>):\t<函数体>\treturn<返回值列表>可选参数一般放置在非可选参数的后面。本题选择B选项。

19.APython在定义函数的时候,不仅可以设置普通的形参,如”deffun(arr1,arr2=’我是2号参数’)”(其中arr1为必传参数,arr2为可选参数),还可以传入两种特殊的参数:带*或**的参数。这两类形式的参数都可以传人任意数量的实参,它们的不同点主要在于*参数传入的为一个元组(tuple);**参数传人的则为一个字典(diet)。由于传入的参数数量不确定,因此当它们与普通参数放在一起时,必须把它们放在最后。故A项错误。

20.B解析:耦合性和内聚性足模块独立性的两个定性标准。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,作为软件结构设计的设计原则,要求每个模块的内部都具有很强的内聚性;耦合性是指模块间相互连接的紧密程度的度量,一个模块与其他模块的耦合性越强则该模块的独立性越弱。一般优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

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

22.B“+”号的运算包括字符串连接、算术加法和单目运算。

23.B在Python中对字母大小写是敏感的,’N’和’n’是不同的字符。本题中,有两层for循环,即每个字符要输出两次,直到i=’n’时,跳出循环,执行输出语句。故答案为B项。

24.D在Python中,return语句用来结束函数并将程序返回到函数被调用的位置继续执行。return语句可以出现在函数的任何部分,可以同时将0个、1个或多个函数运算结果返回给函数被调用处的变量。函数可以没有return,此时函数并不返回值。return返回的是值而不是表达式,且此段语句并未调用函数,故程序无输出。本题选择D选项。

25.Crandom.choice(k)用于从序列的元素中随机挑选一个元素;random.shuffle(k)用于将序列的所有元素随机排序;random.getrandbits(k)用于生成一个k比特长度的随机整数;random.sample(k)用于随机地从指定列表中提取出k个不同的元素。本题选择C选项。

26.Bfor循环遍历字符串,将字符串中的字符依次赋值给变量s,当s==i的时候,跳出该循环,输出之前变量s被赋值的字符,所以输出为PythonN。本题选择B选项。

27.A

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

29.B

30

温馨提示

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

评论

0/150

提交评论