贵州省遵义市全国计算机等级考试Python语言程序设计_第1页
贵州省遵义市全国计算机等级考试Python语言程序设计_第2页
贵州省遵义市全国计算机等级考试Python语言程序设计_第3页
贵州省遵义市全国计算机等级考试Python语言程序设计_第4页
贵州省遵义市全国计算机等级考试Python语言程序设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

贵州省遵义市全国计算机等级考试Python语言程序设计学校:________班级:________姓名:________考号:________

一、单选题(30题)1.基本路径测试属于()。

A.黑盒测试方法且是静态测试B.黑盒测试方法且是动态测试C.白盒测试方法且是动态测试D.白盒测试方法且是静态测试

2.如果文件a.txt在目录’C:\\A’下,执行以下代码会发生什么操作?()importosos.rmdir(r'C:\\A’)

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

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

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

D.OSError

3.下列叙述中正确的是()。

A.快速排序适用于顺序存储的线性表

B.快速排序适用于链式存储的线性表

C.链式存储的线性表不可能排序

D.堆排序适用于非线性结构

4.Python提供3种基本的数字类型,它们是()。

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

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

C.整数类型、二进制类型、布尔类型

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

5.正则表达式中\s表示的是()

A.非空格B.空格C.非数字D.数字

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

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

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

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

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

7.以下代码的输出结果是()。Test_list=list(range(6))Print(6inTest_list)

A.6B.6inTest_listC.TrueD.False

8.设str1=’*@python@*’,语句print(strl[2:].strip(’@’))的执行结果是()。

A.python@*B.lpython*C.*@python@*D.*python*

9.列表变量Is共包含10个元素,Is索引的取值范围是()。

A.(0,10)B.[0,10]C.(l,10]D.[0,9]

10.以下程序的输出结果是()。a=10.99print(complex(a))

A.0.99B.10.99i+jC.10.99D.(10.99+0j)

11.下列哪种情况不会导致Python对象的引用计数增加()

A.对象被创建B.被作为参数传递给函数C.成为容器对象的元素D.该对象无法访问时

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

A.Python分支结构使用保留字if、elif和else来实现,每个if后面必须有elif或else

B.if-else结构是可以嵌套的

C.if语句会判断if后面的逻辑表达式,当表达式为真时,执行if后续的语句块

D.缩进是Python分支语句的语法部分,缩进不正确会影响分支功能

13.下面程序的输出结果是()。

ls=[“橘子”,”芒果”,”草莓”,”西瓜”,”水蜜桃”]

forkinls:

print(k,end=””)A.橘子芒果草莓西瓜水蜜桃B.橘子芒果草莓西瓜水蜜桃C.西瓜D.”橘子””芒果””草莓””西瓜””水蜜桃”

14.下列叙述中正确的是()。

A.栈是“先进先出”的线性表

B.队列是“先进后出”的线性表

C.循环队列是非线性结构

D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

15.下面代码的输出结果是()。a=10b=1try:c=b//(b/a)print(C)except(IOError,ZeroDivisionError):print(”calculationerror”)else:print(”noerror”)

A.calculationerrorB.noerrorC.9.0D.9.0noerror

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

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

17.在屏幕上输出HelloWorld,使用的Python语句是()。

A.printf(‘HelloWorld’)

B.print(HelloWorld)

C.print(“HelloWorld”)

D.printf(“HelloWorld”)

18.以下保留字不属于分支或循环逻辑的是()。

A.elifB.doC.forD.while

19.float('inf')<float('inf')+1执行后的结果A.A.TrueB.False

20.以下选项不能改变turtle绘制方向的是()。

A.turtle.open()B.turtle.left()C.turtle.fd()D.turtle.seth()

21.下面的排序算法中初始数据集的排列顺序对算法的性能无影响的是()A.插入排序B.堆排序C.冒泡排序D.快速排序

22.对于循环队列,下列叙述中正确的是()。

A.队头指针是固定不变的

B.队头指针一定大于队尾指针

C.队头指针一定小于队尾指针

D.队头指针可以大于队尾指针,也可以小于队尾指针

23.以下程序的输出结果是()。deffibRate(n): ifn<=0: return-1 elifn==1: return-1 elifn==2: return1 else: L=[1,5] foriinrange(2,n): L.append(L[-1]+L[-2]) returnL[-2]%L[-1]print(fibRate(7))

A.0.6B.28C.-1D.1

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

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

25.Python中文件的打开模式为“t”,对应的文件打开模式为()。

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

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

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

C.软件的开发过程

D.软件的运行维护过程

27.下面关于类的说法错误的是()。

A.类是一种实例

B.在类进行实例化时将会首先执行该类中的int方法

C.在对类进行实例化时,传人的实参不用带上self,它在类执行过程中将自行带上

D.类中的变量前带有前缀self意味着此变量在类中任意位置可以使用

28.以下关于函数优点的描述中,正确的是()。

A.函数可以表现程序的复杂度B.函数可以使程序更加模块化C.函数可以减少代码使用次数D.函数便于书写

29.某二叉树有5个度为2的节点,则该二叉树中的叶子节点数是()。

A.10B.8C.6D.4

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

A.函数代码是可以重复使用的

B.每次使用函数需要提供相同的参数作为输入

C.函数通过函数名进行调用

D.函数是一段具有特定功能的语句组

二、判断题(10题)31.Python标准库os中的方法isfile()可以用来测试给定的路径是否为文件。

A.是B.否

32.二进制文件不能使用记事本程序打开。

A.是B.否

33.使用Python列表的方法insert()为列表插入元素时会改变列表中插入位置之后元素的索引。

A.是B.否

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

A.是B.否

35.不同作用域中的同名变量之间互相不影响,也就是说,在不同的作用域内可以定义同名的变量。

A.是B.否

36.Python标准库threading中的Lock、RLock、Condition、Event、Semaphore对象都可以用来实现线程同步。

A.是B.否

37.在Python中0oa1是合法的八进制数字表示形式。

A.是B.否

38.在Python3.x中可以使用中文作为变量名。

A.是B.否

39.在循环中continue语句的作用是跳出当前循环。

A.是B.否

40.标准库os的rename()方法可以实现文件移动操作。

A.是B.否

三、填空题(10题)41.已知x=[[1,3,3],[2,3,1]],那么表达式sorted(x,key=lambdaitem:(item[1],item[2]))的值为____________________________________。

42.列表、元组、字符串是Python的_________(有序?无序)序列。

43.表达式65>>1的值为_____________。

44.表达式'Helloworld'.lower()的值为_____________。

45.Python语句''.join(list('helloworld!'))执行的结果是____________________。

46.执行语句x,y,z=map(str,range(3))之后,变量y的值为___________。

47.表达式{1,2,3,4,5}^{4,5,6,7}的值为_________________________。

48.表达式'%s'%65的值为__________。

49.语句x=(3)执行后x的值为________________。

50.表达式list(map(lambdax:x+5,[1,2,3,4,5]))的值为______________________。

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

试题程序:

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

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

ifcount%2==0:

print(count,end=”,”)

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

53.考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能。输出九九乘法表。按照乘法表的格式输出九九乘法表,并将输出的结果保存在考生文件夹下,命名为“PY202.txt”。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fo=open("PY202.txt","w")fo.close()

参考答案

1.C白盒测试方法主要有逻辑覆盖、基本路径测试等。黑盒测试方法主要有等价类划分法、边界值分析法、错误推测法及因果图等。基本路径测试根据软件过程性描述中的控制流确定程序的环路复杂性度量,用此度量定义基本路径的集合,并由此导出一组测试用例对每一条独立执行路径进行测试。因此,基本路径测试属于动态测试。本题选择C选项。

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

3.A排序可以在不同的存储结构上实现,但快速排序法适用于顺序存储的线性表,不适用于链式存储的线性表。堆排序适用于线性结构,不适用于非线性结构。本题选择A选项。

4.APython提供的3种基本的数字类型为整数类型、浮点数类型、复数类型,分别对应数学中的整数、实数和复数。本题选择A选项。

5.B

6.B在Python中,使用关键字def定义函数。本题选择B选项。

7.DTest_list是列表类型,6inTest_list表示如果6是列表Test_list的元素,返回True,否则返回False。

8.Astr1[2:]表示对字符串str1进行切片,即从序号为2的字符开始切片直到字符串结尾(字符串最左侧的字符序号为0),其结果为”python@*”;strip(chars)方法是从字符串中去掉其左侧和右侧chars中列出的字符,”python@*”.strip(’@’)表示将字符串左侧和右侧的”@”字符去掉,由于字符串最左侧和最右侧均无”@”字符,故结果为”python@*”。

9.D列表使用方括号作为索引操作符,索引从0开始,即第一个元素的索引是0,第二个元素的索引是1,依此类推。本题列表中有10个元素,则索引取值范围是[0,9]。本题选择D选项。

10.Da=10.99,说明实部为10.99,虚部为0,故complex(a)返回复数(10.99+0j)。本题选择D选项。

11.D

12.APython分支结构使用保留字if、elif和else来实现,每个if后面不一定要有elif或else,A选项错误;if-else结构是可以嵌套的,B选项正确;if语句会判断if后面的逻辑表达式,当表达式为真时,执行if后续的语句块,C选项正确;缩进是Python分支语句的语法部分,缩进不正确会影响分支功能,D选项正确。本题选择A选项。

13.Bfor循环遍历列表ls,依次把ls中的元素赋值给变量k,并使用函数print()输出各元素(格式为元素间用空格分隔)。本题选择B选项。

14.D栈是先进后出的线性表,所以A错误;队列是先进先出的线性表,所以B错误;循环队列是线性结构的线性表,所以C错误。故答案为D选项。

15.D只有当程序未引发异常顺利执行完try中的代码后,else语句块内的代码才会执行。本题中try中无异常,输出变量C的值,再执行else中的代码。

16.D

17.C在Python中,输出是Print()函数,HelloWorld是字符串类型,需要加单引号或双引号。本题选择C选项。

18.Belif是分支逻辑保留字,for和while是循环逻辑保留字,在Python中没有do保留字。

19.B

20.Aturtle.fd(distance):向当前画笔方向移动distance距离,当值为负数时,表示向相反方向前进;turtle.left(angle):向左旋转angle角度;turtle.seth(to_angle):设置当前前进方向为to_angle,该角度是绝对方向角度。turtle库中不存在open()函数。本题选择A选项。

21.B

22.D循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构,所以队头指针有时可能大于队尾指针,有时也可能小于队尾指针。

23.B将7传递给函数形参变量n,之后进入多分支结构,依次判断后,执行else后面的语句。for语句为foriinrange(2,7),i从2依次变化到6,循环5次,将L[-1]+L[-2]的值通过append()方法加入列表L中。当i=2时,L[-1]+L[-2]=5+1=6,将6添加到列表L中,此时L=[1,5,6];当i=3时,L[-1]+L[-2]=6+5=11,将11添加到列表L中,此时L=[1,5,6,11];当i=4时,L[-1]+L[-2]=11+6=17,将17添加到列表L中,此时L=[1,5,6,11,17];当i=5时,L[-1]+L[-2]=17+11=28,将28添加到列表L中,此时L=[1,5,6,11,17,28];当i=6时,L[-1]+L[-2]=28+17=45,将45添加到列表L中,此时L=[1,5,6,11,17,28,45]。最后L[-2]%L[-1]=28%45=28,故程序输出28。本题选择B选项。

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

25.C在Python中,文件的打开模式对应为:r表示只读;w表示覆盖写;t表示文本文件模式;b表示二进制文件模式。本题选择D选项。

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

27.AA选项中类只是一种抽象事物的分类,对象才是一种实例。

28.B函数定义:函数是指一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可。函数能提高应用的模块性和代码的重复利用率。本题选择B选项。

29.C根据二叉树的基本性质:在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个,所以本题中是5+1=6个。本题选择C选项。

30.B函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。经过定义,一组语句等价于一个函数,在需要使用这组语句的地方,直接调用函数名称即可。采用参数名称传递方式不需要保持参数传递的顺序,参数之间的顺序可以任意调整,只需要对每个必要参数赋予实际值即可,每次使用函数不需要提供相同的参数作为输入。

31.Y

32.N

33.Y

34.Y

35.Y

36.Y

37.N

38.Y

39.N

40.Y

41.[[2,3,1],[1,3,3]]

42.有序

43.32

44.'helloworld'

45.'helloworld!'

46.'1'

47.{1,2,3,6,7}

48.'65'

49.3

50.[6,7,8,9,10]

51.count=0\r\n

whilecount<50:\r\n

count+=1\r\n

ifcount%2==0:\r\n

continue\r\n

print(count,end=”,”)判断一个数是否为奇数,即判断这个数能否被2整除,可以被整除则为偶数,结束本次循环,使用continue语句;不可以被整除则为奇数,输出该数。while循环不具有自动计数的功能,所以需要定义一个变量,初始值为0,每经过一次循环,变量加1;当变量超过50时,停止循环。

52.intxt=input(”请输入明文:”)ForpinintxtIf”a”<=p<=”z”:Print(chr(ord(“a”)+(ord(p)-ord(“a”)+3%26),end=””)Elif”A”<=p<=”z”:Print(chr(ord(“A”)+(ord(p)-ord(“A”)+3%26),end=””)Else:Print(p,end=””)使用for循环遍历输入的每一个字符:如果输入的字符是大小写字母,把该字母替换为该字母后面的第三个字母,将转换后的字母进行输出;如果输入的字符不是大小写字母,则原样输出字符,该部分功能通过if多分支结构实现。

53.fo=open("PY202.txt","w")Foriinrange(1,10):Forjinrange(1,i+1):Fowrite(“{}={}={}”.format(j,i,i*j))Fo.write(“\\n”)fo.close()输出《九九乘法表》,首先要先查看乘法表的规律,乘法表竖向是1-9,横向的每行是从1到每行的行号,所以可以使用两个for循环遍历输出。格式可以使用format()方法控制,最后把输出的《九九乘法表》存入文件\r\nPY202.txt中。贵州省遵义市全国计算机等级考试Python语言程序设计学校:________班级:________姓名:________考号:________

一、单选题(30题)1.基本路径测试属于()。

A.黑盒测试方法且是静态测试B.黑盒测试方法且是动态测试C.白盒测试方法且是动态测试D.白盒测试方法且是静态测试

2.如果文件a.txt在目录’C:\\A’下,执行以下代码会发生什么操作?()importosos.rmdir(r'C:\\A’)

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

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

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

D.OSError

3.下列叙述中正确的是()。

A.快速排序适用于顺序存储的线性表

B.快速排序适用于链式存储的线性表

C.链式存储的线性表不可能排序

D.堆排序适用于非线性结构

4.Python提供3种基本的数字类型,它们是()。

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

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

C.整数类型、二进制类型、布尔类型

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

5.正则表达式中\s表示的是()

A.非空格B.空格C.非数字D.数字

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

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

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

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

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

7.以下代码的输出结果是()。Test_list=list(range(6))Print(6inTest_list)

A.6B.6inTest_listC.TrueD.False

8.设str1=’*@python@*’,语句print(strl[2:].strip(’@’))的执行结果是()。

A.python@*B.lpython*C.*@python@*D.*python*

9.列表变量Is共包含10个元素,Is索引的取值范围是()。

A.(0,10)B.[0,10]C.(l,10]D.[0,9]

10.以下程序的输出结果是()。a=10.99print(complex(a))

A.0.99B.10.99i+jC.10.99D.(10.99+0j)

11.下列哪种情况不会导致Python对象的引用计数增加()

A.对象被创建B.被作为参数传递给函数C.成为容器对象的元素D.该对象无法访问时

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

A.Python分支结构使用保留字if、elif和else来实现,每个if后面必须有elif或else

B.if-else结构是可以嵌套的

C.if语句会判断if后面的逻辑表达式,当表达式为真时,执行if后续的语句块

D.缩进是Python分支语句的语法部分,缩进不正确会影响分支功能

13.下面程序的输出结果是()。

ls=[“橘子”,”芒果”,”草莓”,”西瓜”,”水蜜桃”]

forkinls:

print(k,end=””)A.橘子芒果草莓西瓜水蜜桃B.橘子芒果草莓西瓜水蜜桃C.西瓜D.”橘子””芒果””草莓””西瓜””水蜜桃”

14.下列叙述中正确的是()。

A.栈是“先进先出”的线性表

B.队列是“先进后出”的线性表

C.循环队列是非线性结构

D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

15.下面代码的输出结果是()。a=10b=1try:c=b//(b/a)print(C)except(IOError,ZeroDivisionError):print(”calculationerror”)else:print(”noerror”)

A.calculationerrorB.noerrorC.9.0D.9.0noerror

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

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

17.在屏幕上输出HelloWorld,使用的Python语句是()。

A.printf(‘HelloWorld’)

B.print(HelloWorld)

C.print(“HelloWorld”)

D.printf(“HelloWorld”)

18.以下保留字不属于分支或循环逻辑的是()。

A.elifB.doC.forD.while

19.float('inf')<float('inf')+1执行后的结果A.A.TrueB.False

20.以下选项不能改变turtle绘制方向的是()。

A.turtle.open()B.turtle.left()C.turtle.fd()D.turtle.seth()

21.下面的排序算法中初始数据集的排列顺序对算法的性能无影响的是()A.插入排序B.堆排序C.冒泡排序D.快速排序

22.对于循环队列,下列叙述中正确的是()。

A.队头指针是固定不变的

B.队头指针一定大于队尾指针

C.队头指针一定小于队尾指针

D.队头指针可以大于队尾指针,也可以小于队尾指针

23.以下程序的输出结果是()。deffibRate(n): ifn<=0: return-1 elifn==1: return-1 elifn==2: return1 else: L=[1,5] foriinrange(2,n): L.append(L[-1]+L[-2]) returnL[-2]%L[-1]print(fibRate(7))

A.0.6B.28C.-1D.1

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

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

25.Python中文件的打开模式为“t”,对应的文件打开模式为()。

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

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

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

C.软件的开发过程

D.软件的运行维护过程

27.下面关于类的说法错误的是()。

A.类是一种实例

B.在类进行实例化时将会首先执行该类中的int方法

C.在对类进行实例化时,传人的实参不用带上self,它在类执行过程中将自行带上

D.类中的变量前带有前缀self意味着此变量在类中任意位置可以使用

28.以下关于函数优点的描述中,正确的是()。

A.函数可以表现程序的复杂度B.函数可以使程序更加模块化C.函数可以减少代码使用次数D.函数便于书写

29.某二叉树有5个度为2的节点,则该二叉树中的叶子节点数是()。

A.10B.8C.6D.4

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

A.函数代码是可以重复使用的

B.每次使用函数需要提供相同的参数作为输入

C.函数通过函数名进行调用

D.函数是一段具有特定功能的语句组

二、判断题(10题)31.Python标准库os中的方法isfile()可以用来测试给定的路径是否为文件。

A.是B.否

32.二进制文件不能使用记事本程序打开。

A.是B.否

33.使用Python列表的方法insert()为列表插入元素时会改变列表中插入位置之后元素的索引。

A.是B.否

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

A.是B.否

35.不同作用域中的同名变量之间互相不影响,也就是说,在不同的作用域内可以定义同名的变量。

A.是B.否

36.Python标准库threading中的Lock、RLock、Condition、Event、Semaphore对象都可以用来实现线程同步。

A.是B.否

37.在Python中0oa1是合法的八进制数字表示形式。

A.是B.否

38.在Python3.x中可以使用中文作为变量名。

A.是B.否

39.在循环中continue语句的作用是跳出当前循环。

A.是B.否

40.标准库os的rename()方法可以实现文件移动操作。

A.是B.否

三、填空题(10题)41.已知x=[[1,3,3],[2,3,1]],那么表达式sorted(x,key=lambdaitem:(item[1],item[2]))的值为____________________________________。

42.列表、元组、字符串是Python的_________(有序?无序)序列。

43.表达式65>>1的值为_____________。

44.表达式'Helloworld'.lower()的值为_____________。

45.Python语句''.join(list('helloworld!'))执行的结果是____________________。

46.执行语句x,y,z=map(str,range(3))之后,变量y的值为___________。

47.表达式{1,2,3,4,5}^{4,5,6,7}的值为_________________________。

48.表达式'%s'%65的值为__________。

49.语句x=(3)执行后x的值为________________。

50.表达式list(map(lambdax:x+5,[1,2,3,4,5]))的值为______________________。

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

试题程序:

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

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

ifcount%2==0:

print(count,end=”,”)

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

53.考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能。输出九九乘法表。按照乘法表的格式输出九九乘法表,并将输出的结果保存在考生文件夹下,命名为“PY202.txt”。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fo=open("PY202.txt","w")fo.close()

参考答案

1.C白盒测试方法主要有逻辑覆盖、基本路径测试等。黑盒测试方法主要有等价类划分法、边界值分析法、错误推测法及因果图等。基本路径测试根据软件过程性描述中的控制流确定程序的环路复杂性度量,用此度量定义基本路径的集合,并由此导出一组测试用例对每一条独立执行路径进行测试。因此,基本路径测试属于动态测试。本题选择C选项。

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

3.A排序可以在不同的存储结构上实现,但快速排序法适用于顺序存储的线性表,不适用于链式存储的线性表。堆排序适用于线性结构,不适用于非线性结构。本题选择A选项。

4.APython提供的3种基本的数字类型为整数类型、浮点数类型、复数类型,分别对应数学中的整数、实数和复数。本题选择A选项。

5.B

6.B在Python中,使用关键字def定义函数。本题选择B选项。

7.DTest_list是列表类型,6inTest_list表示如果6是列表Test_list的元素,返回True,否则返回False。

8.Astr1[2:]表示对字符串str1进行切片,即从序号为2的字符开始切片直到字符串结尾(字符串最左侧的字符序号为0),其结果为”python@*”;strip(chars)方法是从字符串中去掉其左侧和右侧chars中列出的字符,”python@*”.strip(’@’)表示将字符串左侧和右侧的”@”字符去掉,由于字符串最左侧和最右侧均无”@”字符,故结果为”python@*”。

9.D列表使用方括号作为索引操作符,索引从0开始,即第一个元素的索引是0,第二个元素的索引是1,依此类推。本题列表中有10个元素,则索引取值范围是[0,9]。本题选择D选项。

10.Da=10.99,说明实部为10.99,虚部为0,故complex(a)返回复数(10.99+0j)。本题选择D选项。

11.D

12.APython分支结构使用保留字if、elif和else来实现,每个if后面不一定要有elif或else,A选项错误;if-else结构是可以嵌套的,B选项正确;if语句会判断if后面的逻辑表达式,当表达式为真时,执行if后续的语句块,C选项正确;缩进是Python分支语句的语法部分,缩进不正确会影响分支功能,D选项正确。本题选择A选项。

13.Bfor循环遍历列表ls,依次把ls中的元素赋值给变量k,并使用函数print()输出各元素(格式为元素间用空格分隔)。本题选择B选项。

14.D栈是先进后出的线性表,所以A错误;队列是先进先出的线性表,所以B错误;循环队列是线性结构的线性表,所以C错误。故答案为D选项。

15.D只有当程序未引发异常顺利执行完try中的代码后,else语句块内的代码才会执行。本题中try中无异常,输出变量C的值,再执行else中的代码。

16.D

17.C在Python中,输出是Print()函数,HelloWorld是字符串类型,需要加单引号或双引号。本题选择C选项。

18.Belif是分支逻辑保留字,for和while是循环逻辑保留字,在Python中没有do保留字。

19.B

20.Aturtle.fd(distance):向当前画笔方向移动distance距离,当值为负数时,表示向相反方向前进;turtle.left(angle):向左旋转angle角度;turtle.seth(to_angle):设置当前前进方向为to_angle,该角度是绝对方向角度。turtle库中不存在open()函数。本题选择A选项。

21.B

22.D循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构,所以队头指针有时可能大于队尾指针,有时也可能小于队尾指针。

23.B将7传递给函数形参变量n,之后进入多分支结构,依次判断后,执行else后面的语句。for语句为foriinrange(2,7),i从2依次变化到6,循环5次,将L[-1]+L[-2]的值通过append()方法加入列表L中。当i=2时,L[-1]+L[-2]=5+1=6,将6添加到列表L中,此时L=[1,5,6];当i=3时,L[-1]+L[-2]=6+5=11,将11添加到列表L中,此时L=[1,5,6,11];当i=4时,L[-1]+L[-2]=11+6=17,将17添加到列表L中,此时L=[1,5,6,11,17];当i=5时,L[-1]+L[-2]=17+11=28,将28添加到列表L中,此时L=[1,5,6,11,17,28];当i=6时,L[-1]+L[-2]=28+17=45,将45添加到列表L中,此时L=[1,5,6,11,17,28,45]。最后L[-2]%L[-1]=28%45=28,故程序输出28。本题选择B选项。

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

25.C在Python中,文件的打开模式对应为:r表示只读;w表示覆盖写;t表示文本文件模式;b表示二进制文件模式。本题选择D选项。

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

27.AA选项中类只是一种抽象事物的分类,对象才是一种实例。

28.B函数定义:函数是指一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可。函数能提高应用的模块性和代码的重复利用率。本题选择B选项。

29.C根据二叉树的基本性质:在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个,所以本题中是5+1=6个。本题选择C选项。

30.B函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。经过定义,一组语句等价于一个函数,在需要使用这组语句的地方,直接调用函数名称即可。采用参数名称传递方式不需要保持参数传递的顺序,参数之间的顺序可以任意调整,只需要对每个必要参数赋予实际值即可,每次使用函数不需要提供相同的参数作为输入。

31.Y

32.N

33.Y

34.Y

35.Y

36.Y

37.N

38.Y

39.N

40.Y

41.[[2,3,1],[1,3,3]]

42.有序

43.32

44.'helloworld'

45.'helloworld!'

46.'1'

47.{1,2,3,6,7}

48.'65'

49.3

50.[6,7,8,9,10]

51.count=0\r\n

whilecount<50:\r\n

count+=1\r\n

ifcount%2==0:\r\n

continue\r\n

print(count,end=”,”)判断一个数是否为奇数,即判断这个数能否被2整除,可以被整除则为偶数,结束本次循环,使用continue语句;不可以被整除则为奇数,输出该数。while循环不具有自动计数的功能,所以需要定义一个变量,初始值为0,每经过一次循环,变量加1;当变量超过50时,停止循环。

52.intxt=input(”请输入明文:”)ForpinintxtIf”a”<=p<=”z”:Print(chr(ord(“a”)+(ord(p)-ord(“a”)+3%26),end=””)Elif”A”<=p<=”z”:Print(chr(ord(“A”)+(ord(p)-ord(“A”)+3%26),end=””)Else:Print(p,end=””)使用for循环遍历输入的每一个字符:如果输入的字符是大小写字母,把该字母替换为该字母后面的第三个字母,将转换后的字母进行输出;如果输入的字符不是大小写字母,则原样输出字符,该部分功能通过if多分支结构实现。

53.fo=open("PY202.txt","w")Foriinrange(1,10):Forjinrange(1,i+1):Fowrite(“{}={}={}”.format(j,i,i*j))Fo.write(“\\n”)fo.close()输出《九九乘法表》,首先要先查看乘法表的规律,乘法表竖向是1-9,横向的每行是从1到每行的行号,所以可以使用两个for循环遍历输出。格式可以使用format()方法控制,最后把输出的《九九乘法表》存入文件\r\nPY202.txt中。贵州省遵义市全国计算机等级考试Python语言程序设计学校:________班级:________姓名:________考号:________

一、单选题(30题)1.基本路径测试属于()。

A.黑盒测试方法且是静态测试B.黑盒测试方法且是动态测试C.白盒测试方法且是动态测试D.白盒测试方法且是静态测试

2.如果文件a.txt在目录’C:\\A’下,执行以下代码会发生什么操作?()importosos.rmdir(r'C:\\A’)

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

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

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

D.OSError

3.下列叙述中正确的是()。

A.快速排序适用于顺序存储的线性表

B.快速排序适用于链式存储的线性表

C.链式存储的线性表不可能排序

D.堆排序适用于非线性结构

4.Python提供3种基本的数字类型,它们是()。

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

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

C.整数类型、二进制类型、布尔类型

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

5.正则表达式中\s表示的是()

A.非空格B.空格C.非数字D.数字

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

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

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

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

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

7.以下代码的输出结果是()。Test_list=list(range(6))Print(6inTest_list)

A.6B.6inTest_listC.TrueD.False

8.设str1=’*@python@*’,语句print(strl[2:].strip(’@’))的执行结果是()。

A.python@*B.lpython*C.*@python@*D.*python*

9.列表变量Is共包含10个元素,Is索引的取值范围是()。

A.(0,10)B.[0,10]C.(l,10]D.[0,9]

10.以下程序的输出结果是()。a=10.99print(complex(a))

A.0.99B.10.99i+jC.10.99D.(10.99+0j)

11.下列哪种情况不会导致Python对象的引用计数增加()

A.对象被创建B.被作为参数传递给函数C.成为容器对象的元素D.该对象无法访问时

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

A.Python分支结构使用保留字if、elif和else来实现,每个if后面必须有elif或else

B.if-else结构是可以嵌套的

C.if语句会判断if后面的逻辑表达式,当表达式为真时,执行if后续的语句块

D.缩进是Python分支语句的语法部分,缩进不正确会影响分支功能

13.下面程序的输出结果是()。

ls=[“橘子”,”芒果”,”草莓”,”西瓜”,”水蜜桃”]

forkinls:

print(k,end=””)A.橘子芒果草莓西瓜水蜜桃B.橘子芒果草莓西瓜水蜜桃C.西瓜D.”橘子””芒果””草莓””西瓜””水蜜桃”

14.下列叙述中正确的是()。

A.栈是“先进先出”的线性表

B.队列是“先进后出”的线性表

C.循环队列是非线性结构

D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

15.下面代码的输出结果是()。a=10b=1try:c=b//(b/a)print(C)except(IOError,ZeroDivisionError):print(”calculationerror”)else:print(”noerror”)

A.calculationerrorB.noerrorC.9.0D.9.0noerror

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

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

17.在屏幕上输出HelloWorld,使用的Python语句是()。

A.printf(‘HelloWorld’)

B.print(HelloWorld)

C.print(“HelloWorld”)

D.printf(“HelloWorld”)

18.以下保留字不属于分支或循环逻辑的是()。

A.elifB.doC.forD.while

19.float('inf')<float('inf')+1执行后的结果A.A.TrueB.False

20.以下选项不能改变turtle绘制方向的是()。

A.turtle.open()B.turtle.left()C.turtle.fd()D.turtle.seth()

21.下面的排序算法中初始数据集的排列顺序对算法的性能无影响的是()A.插入排序B.堆排序C.冒泡排序D.快速排序

22.对于循环队列,下列叙述中正确的是()。

A.队头指针是固定不变的

B.队头指针一定大于队尾指针

C.队头指针一定小于队尾指针

D.队头指针可以大于队尾指针,也可以小于队尾指针

23.以下程序的输出结果是()。deffibRate(n): ifn<=0: return-1 elifn==1: return-1 elifn==2: return1 else: L=[1,5] foriinrange(2,n): L.append(L[-1]+L[-2]) returnL[-2]%L[-1]print(fibRate(7))

A.0.6B.28C.-1D.1

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

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

25.Python中文件的打开模式为“t”,对应的文件打开模式为()。

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

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

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

C.软件的开发过程

D.软件的运行维护过程

27.下面关于类的说法错误的是()。

A.类是一种实例

B.在类进行实例化时将会首先执行该类中的int方法

C.在对类进行实例化时,传人的实参不用带上self,它在类执行过程中将自行带上

D.类中的变量前带有前缀self意味着此变量在类中任意位置可以使用

28.以下关于函数优点的描述中,正确的是()。

A.函数可以表现程序的复杂度B.函数可以使程序更加模块化C.函数可以减少代码使用次数D.函数便于书写

29.某二叉树有5个度为2的节点,则该二叉树中的叶子节点数是()。

A.10B.8C.6D.4

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

A.函数代码是可以重复使用的

B.每次使用函数需要提供相同的参数作为输入

C.函数通过函数名进行调用

D.函数是一段具有特定功能的语句组

二、判断题(10题)31.Python标准库os中的方法isfile()可以用来测试给定的路径是否为文件。

A.是B.否

32.二进制文件不能使用记事本程序打开。

A.是B.否

33.使用Python列表的方法insert()为列表插入元素时会改变列表中插入位置之后元素的索引。

A.是B.否

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

A.是B.否

35.不同作用域中的同名变量之间互相不影响,也就是说,在不同的作用域内可以定义同名的变量。

A.是B.否

36.Python标准库threading中的Lock、RLock、Condition、Event、Semaphore对象都可以用来实现线程同步。

A.是B.否

37.在Python中0oa1是合法的八进制数字表示形式。

A.是B.否

38.在Python3.x中可以使用中文作为变量名。

A.是B.否

39.在循环中continue语句的作用是跳出当前循环。

A.是B.否

40.标准库os的rename()方法可以实现文件移动操作。

A.是B.否

三、填空题(10题)41.已知x=[[1,3,3],[2,3,1]],那么表达式sorted(x,key=lambdaitem:(item[1],item[2]))的值为____________________________________。

42.列表、元组、字符串是Python的_________(有序?无序)序列。

43.表达式65>>1的值为_____________。

44.表达式'Helloworld'.lower()的值为_____________。

45.Python语句''.join(list('helloworld!'))执行的结果是____________________。

46.执行语句x,y,z=map(str,range(3))之后,变量y的值为___________。

47.表达式{1,2,3,4,5}^{4,5,6,7}的值为_________________________。

48.表达式'%s'%65的值为__________。

49.语句x=(3)执行后x的值为________________。

50.表达式list(map(lambdax:x+5,[1,2,3,4,5]))的值为______________________。

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

试题程序:

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

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

ifcount%2==0:

print(count,end=”,”)

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

53.考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能。输出九九乘法表。按照乘法表的格式输出九九乘法表,并将输出的结果保存在考生文件夹下,命名为“PY202.txt”。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fo=open("PY202.txt","w")fo.close()

参考答案

1.C白盒测试方法主要有逻辑覆盖、基本路径测试等。黑盒测试方法主要有等价类划分法、边界值分析法、错误推测法及因果图等。基本路径测试根据软件过程性描述中的控制流确定程序的环路复杂性度量,用此度量定义基本路径的集合,并由此导出一组测试用例对每一条独立执行路径进行测试。因此,基本路径测试属于动态测试。本题选择C选项。

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

3.A排序可以在不同的存储结构上实现,但快速排序法适用于顺序存储的线性表,不适用于链式存储的线性表。堆排序适用于线性结构,不适用于非线性结构。本题选择A选项。

4.APython提供的3种基本的数字类型为整数类型、浮点数类型、复数类型,分别对应数学中的整数、实数和复数。本题选择A选项。

5.B

6.B在Python中,使用关键字def定义函数。本题选择B选项。

7.DTest_list是列表类型,6inTest_list表示如果6是列表Test_list的元素,返回True,否则返回False。

8.Astr1[2:]表示对字符串str1进行切片,即从序号为2的字符开始切片直到字符串结尾(字符串最左侧的字符序号为0),其结果为”python@*”;strip(chars)方法是从字符串中去掉其左侧和右侧chars中列出的字符,”python@*”.strip(’@’)表示将字符串左侧和右侧的”@”字符去掉,由于字符串最左侧和最右侧均无”@”字符,故结果为”python@*”。

9.D列表使用方括号作为索引操作符,索引从0开始,即第一个元素的索引是0,第二个元素的索引是1,依此类推。本题列表中有10个元素,则索引取值范围是[0,9]。本题选择D选项。

10.Da=10.99,说明实部为10.99,虚部为0,故complex(a)返回复数(10.99+0j)。本题选择D选项。

11.D

12.APython分支结构使用保留字if、elif和else来实现,每个if后面不一定要有elif或else,A选项错误;if-else结构是可以嵌套的,B选项正确;if语句会判断if后面的逻辑表达式,当表达式为真时,执行if后续的语句块,C选项正确;缩进是Python分支语句的语法部分,缩进不正确会影响分支功能,D选项正确。本题选择A选项。

13.Bfor循环遍历列表ls,依次把ls中的元素赋值给变量k,并使用函数print()输出各元素(格式为元素间用空格分隔)。本题选择B选项。

14.D栈是先进后出的线性表,所以A错误;队列是先进先

温馨提示

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

评论

0/150

提交评论