广东省深圳市全国计算机等级考试Python语言程序设计_第1页
广东省深圳市全国计算机等级考试Python语言程序设计_第2页
广东省深圳市全国计算机等级考试Python语言程序设计_第3页
广东省深圳市全国计算机等级考试Python语言程序设计_第4页
广东省深圳市全国计算机等级考试Python语言程序设计_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

广东省深圳市全国计算机等级考试Python语言程序设计学校:________班级:________姓名:________考号:________

一、单选题(30题)1.s1='%s';s1%(s1)的输入是()

A.%sB.%%sC.%s%sD.s

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

3.层次性、网状性的划分原则是()。

A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式

4.下面代码的输出结果是()。words=“helloPythonworld!Mf=lambdax:len(x)foriinwords,split():print(f(i),end=””)A.555B.566C.666D.ll1111

5.执行以下代码的结果是()A.A.'David'

B.['David']

C.['d']

D.'d'

6.拟在屏幕上打印输出HelloWorld,使用的Python语句是()。

A.prinff(’HeUoWodd’)

B.print(HelloWorld)

C.print(”HelloWorld”)

D.printf(”HelloWorld”)

7.执行以下代码的结果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.异常报错D.(1,2,3,[1,2,3],4)

8.下列关于Python的描述正确的是()。

A.字典中不可以嵌套字典

B.单分支结构的格式为if-elif

C.Python中整数的默认书写格式是二进制

D.Python中采用“#”表示一行注释的幵始

9.在Python中,读入CSV文件保存的二维数据,按特定分隔符抽取信息,最可能用到的函数是()。

A.read()B.join()C.replace()D.split()

10.以下变量名中,符合Python语言变量命名规则的是()。

A.33_keywordB.key@word33_C.nonlocalD._33keyword

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

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

12.下列算法中,最坏情况下时间复杂度最低的是()。

A.堆排序B.寻找最大项C.顺序查找D.有序表的对分查找

13.设二叉树中有20个叶子节点,5个度为1的节点,则该二叉树中总的节点数为()。

A.46B.45C.44D.不可能有这样的二叉树

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

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

15.下面的d是一个字典变量,能够输出数字2的语句是()。d={'food1:{'cake1:1,'egg1:5},'cake':2,'egg’:3}

A.print(d['food1]['egg1])

B.print(d['cake'])

C.print(d['food1][-1])

D.print(d['cake'][1])

16.下列哪个语句在Python中是非法的?()

A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y

17.下面的说法错误的是()。

A.调用函数时,在实参前面加一个星号表示序列解包

B.在Python3.x中语句print(*[1,2,3])不能正确执行

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

D.编写函数时,一般建议先对参数进行合法性检查,然后再编写正常的功能代码

18.以下代码的输出结果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))

A.eggB.1C.foodD.nothisfood

19.以下程序的输出结果是()。deffunc(a,b): a**=b returnas=func(2,5)print(s)

A.10B.20C.32D.5

20.以下关于random.uniform(a,b)的描述,正确的是()。

A.生成一个位于[a,b]的随机小数

B.生成一个位于[a,b]的随机整数

C.生成一个均值为a,方差为b的正态分布

D.生成一个位于(a,b)的随机数

21.以下代码的输出结果是()。foriinrange(1,6):ifi%4==0:continueelse:print(i,end=”,”)

A.1,2,3,B.1,2,3,4,C.1,2,3,5,D.1,2,3,5,6,

22.下列排序方法中,最坏情况下比较次数最少的是()。

A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序

23.以下代码的输出结果是()。defyoung(age):if25<=age<=30:print(”作为一个老师,你很年轻”)elifage<25:print(”作为一个老师,你太年轻了”)elifage>=60:print(”作为一个老师,你可以退休了”)else:Print("作为一个老师,你很有爱心”)young(42)

A.作为一个老师,你很年轻B.作为一个老师,你太年轻了C.作为一个老师,你可以退休了D.作为一个老师,你很有爱心

24.在软件开发中,需求分析阶段产生的主要文档是()。

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

25.某完全二叉树有256个结点,则该二叉树的深度为()。

A.7B.8C.9D.10

26.以下保留字不用于循环逻辑的是()。

A.tryB.elseC.forD.continue

27.下列函数中,不是Python内置函数的是()。

A.exec()B.sum()C.close()D.eval()

28.以下程序的输出结果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))

A.20B.5555C.5D.9

29.下面这条语句的输出结果是()。f=(lambdaa="hello",b="python",c="world":a+b.split(“o")[1]+C)print(f("hi"))

A.hellopythonworldB.hipythworldC.hellonworldD.hinworld

30.以下不属于Python中异常处理结构的是()。

A.try-except

B.try-except-if

C.try-except-else

D.try-except-finally

二、判断题(10题)31.当作为条件表达式时,{}与None等价。

A.是B.否

32.假设random模块已导入,那么表达式random.sample(range(10),7)的作用是生成7个不重复的整数。

A.是B.否

33.已知x为非空字符串,那么表达式“.join(x.split())==x的值一定为True。A.是B.否

34.在调用函数时,必须牢记函数形参顺序才能正确传值。

A.是B.否

35.Python变量名必须以字母或下划线开头,并且区分字母大小写。

A.是B.否

36.Python列表中所有元素必须为相同类型的数据。

A.是B.否

37.Python是一种跨平台、开源、免费的高级动态编程语言。

A.是B.否

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

A.是B.否

39.Python标准库os中的方法isfile()可以用来测试给定的路径是否为文件。

A.是B.否

40.只能对列表进行切片操作,不能对元组和字符串进行切片操作。

A.是B.否

三、填空题(10题)41.语句x=(3)执行后x的值为________________。

42.Python语句list(range(1,10,3))执行结果为___________________。

43.表达式int('123',8)的值为_________。

44.表达式[iforiinrange(10)ifi>8]的值为________________。

45.表达式13/4的值为__________。

46.已知列表x=[1,2,3],那么执行语句x.insert(1,4)只有,x的值为___________。

47.表达式len('中国'.encode('gbk'))的值为____________。

48.表达式[1,2]*2的值为______________。

49.表达式int('11111',2)的值为__________。

50.表达式':'.join('abcdefg'.split('cd'))的值为______________。

四、操作题(3题)51.考生文件夹下存在一个文件PY202.py,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能:

编写程序,实现将列表[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]中的素数去除,并输出去除素数后列表的元素个数,结果保存在考生文件夹下,命名为“PY202.txt”。。请结合程序整体框架,补充横线处代码。

试题程序:

#以下代码为提示框架

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

#请在程序的______处使用一行代码替换

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

fo=open(”PY202.txt”,“w”)

defprime(num):

……#此处可以是多行代码

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]

lis=[]foriinls:

ifprime(i)==False:

________#处为一行代码fo.write(”>>>(),列表长度为{}".format(_______,_________)))fo.close()

52.考生文件夹下存在一个Python源文件“PY301.Py”,请按照文件内说明修改代码,实现以下功能。“score,csv”文件中存储的是一个学生在第一季度同一学科对应的月考成绩,求出每一门学科在3个月中的平均成绩,将结果输出在考生文件夹下,命名为“avg-score,txt”。参考如下格式。语文:90.67数学:88.00英语:85.67物理:67.33科学:81.00试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open("score.csv","r")fo=open("avg-score.txt","w")Is=[]X=[]sum=0…fi.close()fo.close()

53.考生文件夹下存在一个文件“PY201.py”,请写代码替换横线,不修改其他代码,实现以下功能。使用turtle库中的pencolor()和fillcolor()方法为图形着色(画笔颜色为黑色,填充颜色为红色),使用set-up()方法在桌面(400,400)的位置创建600像素×600像素的画布窗体,效果如下所示。试题程序#请在_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_____(1)_____('black')_____(2)_____("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()

参考答案

1.A

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

3.D层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以3种数据库的划分原则是数据之间的联系方式。本题选择D选项。

4.B该代码是一个匿名函数和split()方法的结合使用,split()方法把字符串words以空格分隔,返回的是列表类型。通过for循环把列表元素赋值给变量i,然后调用函数f()计算每个单词的长度,所以输出的是566。本题选择B选项。

5.D

6.C在Python语言中,打印输出用print()函数,HelloWorld是字符串类型,需要加单引号或双引号。

7.B

8.D字典中可以嵌套字典;单分支结构的格式为if;Python中整数的默认书写格式是十进制。本题选择D选项。

9.D在Python中,读取CSV文件中的二维码数据采用遍历循环和字符串的split()方法相结合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本题选择D选项。

10.DPython采用大写字母、小写字母、数字、下划线和汉字等字符及其组合进行命名,但名字的首字符不能是数字,标识符中间不能出现空格,长度没有限制。变量名不能与保留字相同。

11.D

12.D对于长度为n的有序线性表,在最坏情况下,二分法查找(对分查找)需比较log2n次。对于长度为n的线性表,最坏情况下顺序查找需要n次,寻找最大项需要n一1次,堆排序需要nlog2n次。故D项的时间复杂度最低。

13.C二叉树中只存在度为0、1、2的结点,根据在二叉树中度为0的结点(叶子结点)总比度为2的结点多一个,可知本题中度为2的结点有20-1\n=19个。故该二叉树中总的结点数为20+5+19=44个。本题选择C选项。

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

15.B在Python中,字典是存储可变数量键值对的数据结构,键和值可以是任意数据类型,通过键索引值,并可以通过键修改值。因此,可以直接利用键值对关系索引元素。索引语法格式为\n<值>=<字典变置>[<键\n>]。故能够正确索引字典并输出数字2的语句是Print(d['cake’]),本题选择B选项。

16.B赋值运算的一般形式为变量=表达式,左边只能是变量。A选项是连续赋值,C选项是序列赋值,D选项可以写为x=x+\ny。本题选择B选项。

17.B在Python3.x中语句print(*[1,2,3])可以正确执行,且结果为123。本题选择B选项。

18.D根据字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一层,但是第一层只有键food,没有键egg,故索引不出值,输出的是“nothisfood”。本题选择D选项。

19.C该函数的功能是计算a的b次方,运算符“**”表示幂运算,s=2**5=32。本题选择C选项。

20.Arandom.uniform(a,b):生成一个区间为[a,b)的随机小数。本题选择A选项。

21.Cfor循环依次将1~5依次赋给变量i,i从1,2,3,4,5依次变化,当i%4==0时,结束本次循环进入下一循环;反之输出i的值,故输出1,2,3,5。本题选择C选项。

22.D冒泡排序、直接插入排序与简单选择排序法在最坏情况下均需要比较n(n-\n1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n。本题选择D选项。

23.D将实参42传递给函数形参变量age,之后进入多分支结构,依次判断,因为30<42\n<60,故执行else后面的语句,即输出“作为一个老师,你很有爱心”。本题选择D选项。

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

25.C根据完全二叉树的性质:具有n个结点的完全二叉树的深度为[log2n]+1。本题中完全二叉树共有256个结点,则深度为[log2256]+1=8+1=9。本题选择C选项。

26.A用于循环逻辑的保留字:while、for、else、break、continue。try用于捕捉异常。

27.Cclose()函数用于文件关闭,通过file.close()的方式调用,不是Python的内置函数。本题选择C选项。

28.Bfun(“5”)是将字符“5”赋给形参x,由于‘5’是字符类型,不是数字类型,不能进行数值运算,因此“x*4”是把字符“5”连续复制4次输出。本题选择B选项。

29.D这是一个Python的匿名函数,是字符串连接输出的一个函数,即a+b+\nc的输出。该函数有3个默认值参数,在调用该函数时传入了一个实参hi,根据函数的传参要求可知参数a的值被改变,其他值不变。split()是一个字符串分隔的方法,把b根据0这个字符分隔为两个字符串,且返回的是列表类型,访问其中的元素需要用到索引访问。所以结果是hi+n+world\n=hinworid,本题选择D选项。

30.BPython中异常处理结构有try-except、try-except-else及\ntry-except-flnally。本题选择B选项。

31.Y

32.Y

33.N

34.N

35.Y

36.N

37.Y

38.Y

39.Y

40.N

41.3

42.[1,4,7]

43.83

44.[9]

45.3.25

46.[1,4,2,3]

47.4

48.[1,2,1,2]

49.31

50.'ab:efg'

51.fo=open(”PY202.txt”,”w”)\r\n

defprime(num):\r\n

foriinrange(2,num);\r\n

ifnum%i==0;\r\n

returnFalse

returnTrue\r\n

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,13,15,5,69]\r\n

lis=[]\r\nforiinls:\r\n

ifprime(i)==False:\r\n

lis.append(i)\r\nfo.write(”>>>{},列表长度为{}”.format(lis.len(lis)))\r\n

fo.close()素数是只能被1和它本身整除的自然数。prime()函数用于判断一个数是否为素数,如果一个数num,能被2到num一1之间的任意一个整数整除,那该数不为素数(返回False),否则为素数(返回True)。\r\n最后,通过for循环遍历列表ls中的元素,通过调用函数判断该元素是否为素数,将不是素数的元素使用append()方法添加到一个新的列表lis中,再将新列表的元素和元素个数写入到文件中去。

52.fi=open("score,csv",”r”)fo=open(“avg-score,txt",”w")Is=[]X=[]sum=0forrowinfi:Is.append(row.strip(“\\n”).split(“,”))Forlineinis[1:]:Foriinline[1:]:Sum=int(i)+sumAvg=sum/3X.append(avg)Sum=0Fo.write(“语文:{:.2f}\\n数学::{:.2f}\\n英语:{:.2f}\\n物理:{:2f}\\n科学:{:.2f}”.format(x[0],x[l],x{2],x[3],x[4]))fi.close()fo.close()本题中“score,csv”文件中存储的是二维数据,需要将其表示为二维列表对象。通过for循环遍历“score,csv”文件中的每一行,再使用strip()和split()方法按照一定的格式将每一行存储到二维列表1S中。这样,列表Is中从索引为1的元素开始,存储的均为一个学科名和对应的3次考试成绩。要求平均成绩,需要将该学科3次考试的成绩相加,再除以3。实现方式为通过for循环遍历二维列表Is中索引从1开始的元素,再嵌套for循环遍历该元素中索引从1开始的元素,将遍历到的元素相加(即3次成绩相加),得出成绩总和和平均成绩,并将平均成绩追加到列表x中。最后,列表x中存储的就是每个学科的平均成绩,使用format()方法按照题目给出的参考格式将其写入“avg-score.\r\ntxt”文件。

53.fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_pencolor('black')fillcolor("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()turtle库是Python的标准库,其中setup(width,height,startx,starty\r\n)用来设置画布窗体的大小和位置;pen-color()用来设置画笔的颜色;fillcolor()用来填充图形颜色。由题干给出的图形可知,画笔的颜色应为黑色,填充颜色应为红色,因此第1空应填pencolor,第2空应填fillcolor。广东省深圳市全国计算机等级考试Python语言程序设计学校:________班级:________姓名:________考号:________

一、单选题(30题)1.s1='%s';s1%(s1)的输入是()

A.%sB.%%sC.%s%sD.s

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

3.层次性、网状性的划分原则是()。

A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式

4.下面代码的输出结果是()。words=“helloPythonworld!Mf=lambdax:len(x)foriinwords,split():print(f(i),end=””)A.555B.566C.666D.ll1111

5.执行以下代码的结果是()A.A.'David'

B.['David']

C.['d']

D.'d'

6.拟在屏幕上打印输出HelloWorld,使用的Python语句是()。

A.prinff(’HeUoWodd’)

B.print(HelloWorld)

C.print(”HelloWorld”)

D.printf(”HelloWorld”)

7.执行以下代码的结果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.异常报错D.(1,2,3,[1,2,3],4)

8.下列关于Python的描述正确的是()。

A.字典中不可以嵌套字典

B.单分支结构的格式为if-elif

C.Python中整数的默认书写格式是二进制

D.Python中采用“#”表示一行注释的幵始

9.在Python中,读入CSV文件保存的二维数据,按特定分隔符抽取信息,最可能用到的函数是()。

A.read()B.join()C.replace()D.split()

10.以下变量名中,符合Python语言变量命名规则的是()。

A.33_keywordB.key@word33_C.nonlocalD._33keyword

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

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

12.下列算法中,最坏情况下时间复杂度最低的是()。

A.堆排序B.寻找最大项C.顺序查找D.有序表的对分查找

13.设二叉树中有20个叶子节点,5个度为1的节点,则该二叉树中总的节点数为()。

A.46B.45C.44D.不可能有这样的二叉树

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

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

15.下面的d是一个字典变量,能够输出数字2的语句是()。d={'food1:{'cake1:1,'egg1:5},'cake':2,'egg’:3}

A.print(d['food1]['egg1])

B.print(d['cake'])

C.print(d['food1][-1])

D.print(d['cake'][1])

16.下列哪个语句在Python中是非法的?()

A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y

17.下面的说法错误的是()。

A.调用函数时,在实参前面加一个星号表示序列解包

B.在Python3.x中语句print(*[1,2,3])不能正确执行

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

D.编写函数时,一般建议先对参数进行合法性检查,然后再编写正常的功能代码

18.以下代码的输出结果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))

A.eggB.1C.foodD.nothisfood

19.以下程序的输出结果是()。deffunc(a,b): a**=b returnas=func(2,5)print(s)

A.10B.20C.32D.5

20.以下关于random.uniform(a,b)的描述,正确的是()。

A.生成一个位于[a,b]的随机小数

B.生成一个位于[a,b]的随机整数

C.生成一个均值为a,方差为b的正态分布

D.生成一个位于(a,b)的随机数

21.以下代码的输出结果是()。foriinrange(1,6):ifi%4==0:continueelse:print(i,end=”,”)

A.1,2,3,B.1,2,3,4,C.1,2,3,5,D.1,2,3,5,6,

22.下列排序方法中,最坏情况下比较次数最少的是()。

A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序

23.以下代码的输出结果是()。defyoung(age):if25<=age<=30:print(”作为一个老师,你很年轻”)elifage<25:print(”作为一个老师,你太年轻了”)elifage>=60:print(”作为一个老师,你可以退休了”)else:Print("作为一个老师,你很有爱心”)young(42)

A.作为一个老师,你很年轻B.作为一个老师,你太年轻了C.作为一个老师,你可以退休了D.作为一个老师,你很有爱心

24.在软件开发中,需求分析阶段产生的主要文档是()。

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

25.某完全二叉树有256个结点,则该二叉树的深度为()。

A.7B.8C.9D.10

26.以下保留字不用于循环逻辑的是()。

A.tryB.elseC.forD.continue

27.下列函数中,不是Python内置函数的是()。

A.exec()B.sum()C.close()D.eval()

28.以下程序的输出结果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))

A.20B.5555C.5D.9

29.下面这条语句的输出结果是()。f=(lambdaa="hello",b="python",c="world":a+b.split(“o")[1]+C)print(f("hi"))

A.hellopythonworldB.hipythworldC.hellonworldD.hinworld

30.以下不属于Python中异常处理结构的是()。

A.try-except

B.try-except-if

C.try-except-else

D.try-except-finally

二、判断题(10题)31.当作为条件表达式时,{}与None等价。

A.是B.否

32.假设random模块已导入,那么表达式random.sample(range(10),7)的作用是生成7个不重复的整数。

A.是B.否

33.已知x为非空字符串,那么表达式“.join(x.split())==x的值一定为True。A.是B.否

34.在调用函数时,必须牢记函数形参顺序才能正确传值。

A.是B.否

35.Python变量名必须以字母或下划线开头,并且区分字母大小写。

A.是B.否

36.Python列表中所有元素必须为相同类型的数据。

A.是B.否

37.Python是一种跨平台、开源、免费的高级动态编程语言。

A.是B.否

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

A.是B.否

39.Python标准库os中的方法isfile()可以用来测试给定的路径是否为文件。

A.是B.否

40.只能对列表进行切片操作,不能对元组和字符串进行切片操作。

A.是B.否

三、填空题(10题)41.语句x=(3)执行后x的值为________________。

42.Python语句list(range(1,10,3))执行结果为___________________。

43.表达式int('123',8)的值为_________。

44.表达式[iforiinrange(10)ifi>8]的值为________________。

45.表达式13/4的值为__________。

46.已知列表x=[1,2,3],那么执行语句x.insert(1,4)只有,x的值为___________。

47.表达式len('中国'.encode('gbk'))的值为____________。

48.表达式[1,2]*2的值为______________。

49.表达式int('11111',2)的值为__________。

50.表达式':'.join('abcdefg'.split('cd'))的值为______________。

四、操作题(3题)51.考生文件夹下存在一个文件PY202.py,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能:

编写程序,实现将列表[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]中的素数去除,并输出去除素数后列表的元素个数,结果保存在考生文件夹下,命名为“PY202.txt”。。请结合程序整体框架,补充横线处代码。

试题程序:

#以下代码为提示框架

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

#请在程序的______处使用一行代码替换

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

fo=open(”PY202.txt”,“w”)

defprime(num):

……#此处可以是多行代码

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]

lis=[]foriinls:

ifprime(i)==False:

________#处为一行代码fo.write(”>>>(),列表长度为{}".format(_______,_________)))fo.close()

52.考生文件夹下存在一个Python源文件“PY301.Py”,请按照文件内说明修改代码,实现以下功能。“score,csv”文件中存储的是一个学生在第一季度同一学科对应的月考成绩,求出每一门学科在3个月中的平均成绩,将结果输出在考生文件夹下,命名为“avg-score,txt”。参考如下格式。语文:90.67数学:88.00英语:85.67物理:67.33科学:81.00试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open("score.csv","r")fo=open("avg-score.txt","w")Is=[]X=[]sum=0…fi.close()fo.close()

53.考生文件夹下存在一个文件“PY201.py”,请写代码替换横线,不修改其他代码,实现以下功能。使用turtle库中的pencolor()和fillcolor()方法为图形着色(画笔颜色为黑色,填充颜色为红色),使用set-up()方法在桌面(400,400)的位置创建600像素×600像素的画布窗体,效果如下所示。试题程序#请在_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_____(1)_____('black')_____(2)_____("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()

参考答案

1.A

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

3.D层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以3种数据库的划分原则是数据之间的联系方式。本题选择D选项。

4.B该代码是一个匿名函数和split()方法的结合使用,split()方法把字符串words以空格分隔,返回的是列表类型。通过for循环把列表元素赋值给变量i,然后调用函数f()计算每个单词的长度,所以输出的是566。本题选择B选项。

5.D

6.C在Python语言中,打印输出用print()函数,HelloWorld是字符串类型,需要加单引号或双引号。

7.B

8.D字典中可以嵌套字典;单分支结构的格式为if;Python中整数的默认书写格式是十进制。本题选择D选项。

9.D在Python中,读取CSV文件中的二维码数据采用遍历循环和字符串的split()方法相结合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本题选择D选项。

10.DPython采用大写字母、小写字母、数字、下划线和汉字等字符及其组合进行命名,但名字的首字符不能是数字,标识符中间不能出现空格,长度没有限制。变量名不能与保留字相同。

11.D

12.D对于长度为n的有序线性表,在最坏情况下,二分法查找(对分查找)需比较log2n次。对于长度为n的线性表,最坏情况下顺序查找需要n次,寻找最大项需要n一1次,堆排序需要nlog2n次。故D项的时间复杂度最低。

13.C二叉树中只存在度为0、1、2的结点,根据在二叉树中度为0的结点(叶子结点)总比度为2的结点多一个,可知本题中度为2的结点有20-1\n=19个。故该二叉树中总的结点数为20+5+19=44个。本题选择C选项。

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

15.B在Python中,字典是存储可变数量键值对的数据结构,键和值可以是任意数据类型,通过键索引值,并可以通过键修改值。因此,可以直接利用键值对关系索引元素。索引语法格式为\n<值>=<字典变置>[<键\n>]。故能够正确索引字典并输出数字2的语句是Print(d['cake’]),本题选择B选项。

16.B赋值运算的一般形式为变量=表达式,左边只能是变量。A选项是连续赋值,C选项是序列赋值,D选项可以写为x=x+\ny。本题选择B选项。

17.B在Python3.x中语句print(*[1,2,3])可以正确执行,且结果为123。本题选择B选项。

18.D根据字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一层,但是第一层只有键food,没有键egg,故索引不出值,输出的是“nothisfood”。本题选择D选项。

19.C该函数的功能是计算a的b次方,运算符“**”表示幂运算,s=2**5=32。本题选择C选项。

20.Arandom.uniform(a,b):生成一个区间为[a,b)的随机小数。本题选择A选项。

21.Cfor循环依次将1~5依次赋给变量i,i从1,2,3,4,5依次变化,当i%4==0时,结束本次循环进入下一循环;反之输出i的值,故输出1,2,3,5。本题选择C选项。

22.D冒泡排序、直接插入排序与简单选择排序法在最坏情况下均需要比较n(n-\n1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n。本题选择D选项。

23.D将实参42传递给函数形参变量age,之后进入多分支结构,依次判断,因为30<42\n<60,故执行else后面的语句,即输出“作为一个老师,你很有爱心”。本题选择D选项。

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

25.C根据完全二叉树的性质:具有n个结点的完全二叉树的深度为[log2n]+1。本题中完全二叉树共有256个结点,则深度为[log2256]+1=8+1=9。本题选择C选项。

26.A用于循环逻辑的保留字:while、for、else、break、continue。try用于捕捉异常。

27.Cclose()函数用于文件关闭,通过file.close()的方式调用,不是Python的内置函数。本题选择C选项。

28.Bfun(“5”)是将字符“5”赋给形参x,由于‘5’是字符类型,不是数字类型,不能进行数值运算,因此“x*4”是把字符“5”连续复制4次输出。本题选择B选项。

29.D这是一个Python的匿名函数,是字符串连接输出的一个函数,即a+b+\nc的输出。该函数有3个默认值参数,在调用该函数时传入了一个实参hi,根据函数的传参要求可知参数a的值被改变,其他值不变。split()是一个字符串分隔的方法,把b根据0这个字符分隔为两个字符串,且返回的是列表类型,访问其中的元素需要用到索引访问。所以结果是hi+n+world\n=hinworid,本题选择D选项。

30.BPython中异常处理结构有try-except、try-except-else及\ntry-except-flnally。本题选择B选项。

31.Y

32.Y

33.N

34.N

35.Y

36.N

37.Y

38.Y

39.Y

40.N

41.3

42.[1,4,7]

43.83

44.[9]

45.3.25

46.[1,4,2,3]

47.4

48.[1,2,1,2]

49.31

50.'ab:efg'

51.fo=open(”PY202.txt”,”w”)\r\n

defprime(num):\r\n

foriinrange(2,num);\r\n

ifnum%i==0;\r\n

returnFalse

returnTrue\r\n

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,13,15,5,69]\r\n

lis=[]\r\nforiinls:\r\n

ifprime(i)==False:\r\n

lis.append(i)\r\nfo.write(”>>>{},列表长度为{}”.format(lis.len(lis)))\r\n

fo.close()素数是只能被1和它本身整除的自然数。prime()函数用于判断一个数是否为素数,如果一个数num,能被2到num一1之间的任意一个整数整除,那该数不为素数(返回False),否则为素数(返回True)。\r\n最后,通过for循环遍历列表ls中的元素,通过调用函数判断该元素是否为素数,将不是素数的元素使用append()方法添加到一个新的列表lis中,再将新列表的元素和元素个数写入到文件中去。

52.fi=open("score,csv",”r”)fo=open(“avg-score,txt",”w")Is=[]X=[]sum=0forrowinfi:Is.append(row.strip(“\\n”).split(“,”))Forlineinis[1:]:Foriinline[1:]:Sum=int(i)+sumAvg=sum/3X.append(avg)Sum=0Fo.write(“语文:{:.2f}\\n数学::{:.2f}\\n英语:{:.2f}\\n物理:{:2f}\\n科学:{:.2f}”.format(x[0],x[l],x{2],x[3],x[4]))fi.close()fo.close()本题中“score,csv”文件中存储的是二维数据,需要将其表示为二维列表对象。通过for循环遍历“score,csv”文件中的每一行,再使用strip()和split()方法按照一定的格式将每一行存储到二维列表1S中。这样,列表Is中从索引为1的元素开始,存储的均为一个学科名和对应的3次考试成绩。要求平均成绩,需要将该学科3次考试的成绩相加,再除以3。实现方式为通过for循环遍历二维列表Is中索引从1开始的元素,再嵌套for循环遍历该元素中索引从1开始的元素,将遍历到的元素相加(即3次成绩相加),得出成绩总和和平均成绩,并将平均成绩追加到列表x中。最后,列表x中存储的就是每个学科的平均成绩,使用format()方法按照题目给出的参考格式将其写入“avg-score.\r\ntxt”文件。

53.fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_pencolor('black')fillcolor("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()turtle库是Python的标准库,其中setup(width,height,startx,starty\r\n)用来设置画布窗体的大小和位置;pen-color()用来设置画笔的颜色;fillcolor()用来填充图形颜色。由题干给出的图形可知,画笔的颜色应为黑色,填充颜色应为红色,因此第1空应填pencolor,第2空应填fillcolor。广东省深圳市全国计算机等级考试Python语言程序设计学校:________班级:________姓名:________考号:________

一、单选题(30题)1.s1='%s';s1%(s1)的输入是()

A.%sB.%%sC.%s%sD.s

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

3.层次性、网状性的划分原则是()。

A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式

4.下面代码的输出结果是()。words=“helloPythonworld!Mf=lambdax:len(x)foriinwords,split():print(f(i),end=””)A.555B.566C.666D.ll1111

5.执行以下代码的结果是()A.A.'David'

B.['David']

C.['d']

D.'d'

6.拟在屏幕上打印输出HelloWorld,使用的Python语句是()。

A.prinff(’HeUoWodd’)

B.print(HelloWorld)

C.print(”HelloWorld”)

D.printf(”HelloWorld”)

7.执行以下代码的结果是?A.(1,2,3,4)B.(1,2,3,[1,2,4])C.异常报错D.(1,2,3,[1,2,3],4)

8.下列关于Python的描述正确的是()。

A.字典中不可以嵌套字典

B.单分支结构的格式为if-elif

C.Python中整数的默认书写格式是二进制

D.Python中采用“#”表示一行注释的幵始

9.在Python中,读入CSV文件保存的二维数据,按特定分隔符抽取信息,最可能用到的函数是()。

A.read()B.join()C.replace()D.split()

10.以下变量名中,符合Python语言变量命名规则的是()。

A.33_keywordB.key@word33_C.nonlocalD._33keyword

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

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

12.下列算法中,最坏情况下时间复杂度最低的是()。

A.堆排序B.寻找最大项C.顺序查找D.有序表的对分查找

13.设二叉树中有20个叶子节点,5个度为1的节点,则该二叉树中总的节点数为()。

A.46B.45C.44D.不可能有这样的二叉树

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

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

15.下面的d是一个字典变量,能够输出数字2的语句是()。d={'food1:{'cake1:1,'egg1:5},'cake':2,'egg’:3}

A.print(d['food1]['egg1])

B.print(d['cake'])

C.print(d['food1][-1])

D.print(d['cake'][1])

16.下列哪个语句在Python中是非法的?()

A.x=y=z=1B.x=(y=z+1)C.x,y=y,xD.x+=y

17.下面的说法错误的是()。

A.调用函数时,在实参前面加一个星号表示序列解包

B.在Python3.x中语句print(*[1,2,3])不能正确执行

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

D.编写函数时,一般建议先对参数进行合法性检查,然后再编写正常的功能代码

18.以下代码的输出结果是()。d=[‘food’:{’cake’:1,’egg’:5}}print(d.get(‘egg’,'nothisfood’))

A.eggB.1C.foodD.nothisfood

19.以下程序的输出结果是()。deffunc(a,b): a**=b returnas=func(2,5)print(s)

A.10B.20C.32D.5

20.以下关于random.uniform(a,b)的描述,正确的是()。

A.生成一个位于[a,b]的随机小数

B.生成一个位于[a,b]的随机整数

C.生成一个均值为a,方差为b的正态分布

D.生成一个位于(a,b)的随机数

21.以下代码的输出结果是()。foriinrange(1,6):ifi%4==0:continueelse:print(i,end=”,”)

A.1,2,3,B.1,2,3,4,C.1,2,3,5,D.1,2,3,5,6,

22.下列排序方法中,最坏情况下比较次数最少的是()。

A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序

23.以下代码的输出结果是()。defyoung(age):if25<=age<=30:print(”作为一个老师,你很年轻”)elifage<25:print(”作为一个老师,你太年轻了”)elifage>=60:print(”作为一个老师,你可以退休了”)else:Print("作为一个老师,你很有爱心”)young(42)

A.作为一个老师,你很年轻B.作为一个老师,你太年轻了C.作为一个老师,你可以退休了D.作为一个老师,你很有爱心

24.在软件开发中,需求分析阶段产生的主要文档是()。

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

25.某完全二叉树有256个结点,则该二叉树的深度为()。

A.7B.8C.9D.10

26.以下保留字不用于循环逻辑的是()。

A.tryB.elseC.forD.continue

27.下列函数中,不是Python内置函数的是()。

A.exec()B.sum()C.close()D.eval()

28.以下程序的输出结果是()。deffun(x): try: returnx*4 except: returnxprint(fun(“5”))

A.20B.5555C.5D.9

29.下面这条语句的输出结果是()。f=(lambdaa="hello",b="python",c="world":a+b.split(“o")[1]+C)print(f("hi"))

A.hellopythonworldB.hipythworldC.hellonworldD.hinworld

30.以下不属于Python中异常处理结构的是()。

A.try-except

B.try-except-if

C.try-except-else

D.try-except-finally

二、判断题(10题)31.当作为条件表达式时,{}与None等价。

A.是B.否

32.假设random模块已导入,那么表达式random.sample(range(10),7)的作用是生成7个不重复的整数。

A.是B.否

33.已知x为非空字符串,那么表达式“.join(x.split())==x的值一定为True。A.是B.否

34.在调用函数时,必须牢记函数形参顺序才能正确传值。

A.是B.否

35.Python变量名必须以字母或下划线开头,并且区分字母大小写。

A.是B.否

36.Python列表中所有元素必须为相同类型的数据。

A.是B.否

37.Python是一种跨平台、开源、免费的高级动态编程语言。

A.是B.否

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

A.是B.否

39.Python标准库os中的方法isfile()可以用来测试给定的路径是否为文件。

A.是B.否

40.只能对列表进行切片操作,不能对元组和字符串进行切片操作。

A.是B.否

三、填空题(10题)41.语句x=(3)执行后x的值为________________。

42.Python语句list(range(1,10,3))执行结果为___________________。

43.表达式int('123',8)的值为_________。

44.表达式[iforiinrange(10)ifi>8]的值为________________。

45.表达式13/4的值为__________。

46.已知列表x=[1,2,3],那么执行语句x.insert(1,4)只有,x的值为___________。

47.表达式len('中国'.encode('gbk'))的值为____________。

48.表达式[1,2]*2的值为______________。

49.表达式int('11111',2)的值为__________。

50.表达式':'.join('abcdefg'.split('cd'))的值为______________。

四、操作题(3题)51.考生文件夹下存在一个文件PY202.py,该文件是本题目的代码提示框架,其中代码可以任意修改,请在该文件中编写代码,以实现如下功能:

编写程序,实现将列表[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]中的素数去除,并输出去除素数后列表的元素个数,结果保存在考生文件夹下,命名为“PY202.txt”。。请结合程序整体框架,补充横线处代码。

试题程序:

#以下代码为提示框架

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

#请在程序的______处使用一行代码替换

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

fo=open(”PY202.txt”,“w”)

defprime(num):

……#此处可以是多行代码

ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,12,15,5,69]

lis=[]foriinls:

ifprime(i)==False:

________#处为一行代码fo.write(”>>>(),列表长度为{}".format(_______,_________)))fo.close()

52.考生文件夹下存在一个Python源文件“PY301.Py”,请按照文件内说明修改代码,实现以下功能。“score,csv”文件中存储的是一个学生在第一季度同一学科对应的月考成绩,求出每一门学科在3个月中的平均成绩,将结果输出在考生文件夹下,命名为“avg-score,txt”。参考如下格式。语文:90.67数学:88.00英语:85.67物理:67.33科学:81.00试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open("score.csv","r")fo=open("avg-score.txt","w")Is=[]X=[]sum=0…fi.close()fo.close()

53.考生文件夹下存在一个文件“PY201.py”,请写代码替换横线,不修改其他代码,实现以下功能。使用turtle库中的pencolor()和fillcolor()方法为图形着色(画笔颜色为黑色,填充颜色为红色),使用set-up()方法在桌面(400,400)的位置创建600像素×600像素的画布窗体,效果如下所示。试题程序#请在_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码fromturtleimport*defcurvemove():foriinrange(200):right(1)forward(1)setup(600,600,400,400)hideturtle()_____(1)_____('black')_____(2)_____("red")pensize(2)begin_fill()left(140)forward(111.65)curvemove()left(120)curvemove()forward(111.65)end_fill()penup()goto(-27,85)pendown()done()

参考答案

1.A

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

3.D层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以3种数据库的划分原则是数据之间的联系方式。本题选择D选项。

4.B该代码是一个匿名函数和split()方法的结合使用,split()方法把字符串words以空格分隔,返回的是列表类型。通过for循环把列表元素赋值给变量i,然后调用函数f()计算每个单词的长度,所以输出的是566。本题选择B选项。

5.D

6.C在Python语言中,打印输出用print()函数,HelloWorld是字符串类型,需要加单引号或双引号。

7.B

8.D字典中可以嵌套字典;单分支结构的格式为if;Python中整数的默认书写格式是十进制。本题选择D选项。

9.D在Python中,读取CSV文件中的二维码数据采用遍历循环和字符串的split()方法相结合,方法如下:f=open('cpi.csv”,”r”)ls=[]forlineinf:Is.append(line,strip(“\\n').split(“,”))f.close()本题选择D选项。

10.DPython采用大写字母、小写字母、数字、下划线和汉字等字符及其组合进行命名,但名字的首字符不能是数字,标识符中间不能出现空格,长度没有限制。变量名不能与保留字相同。

11.D

12.D对于长度为n的有序线性表,在最坏情况下,二分法查找(对分查找)需比较log2n次。对于长度为n的线性表,最坏情况下顺序查找需要n次,寻找最大项需要n一1次,堆排序需要nlog2n次。故D项的时间复杂度最低。

13.C二叉树中只存在度为0、1、2的结点,根据在二叉树中度为0的结点(叶子结点)总比度为2的结点多一个,可知本题中度为2的结点有20-1\n=19个。故该二叉树中总的结点数为20+5+19=44个。本题选择C选项。

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

15.B在Python中,字典是存储可变数量键值对的数据结构,键和值可以是任意数据类型,通过键索引值,并可以通过键修改值。因此,可以直接利用键值对关系索引元素。索引语法格式为\n<值>=<字典变置>[<键\n>]。故能够正确索引字典并输出数字2的语句是Print(d['cake’]),本题选择B选项。

16.B赋值运算的一般形式为变量=表达式,左边只能是变量。A选项是连续赋值,C选项是序列赋值,D选项可以写为x=x+\ny。本题选择B选项。

17.B在Python3.x中语句print(*[1,2,3])可以正确执行,且结果为123。本题选择B选项。

18.D根据字典的索引方式可知,d.get(’eggthis\nfood’)索引的是字典第一层,但是第一层只有键food,没有键egg,故索引不出值,输出的是“nothisfood”。本题选择D选项。

19.C该函数的功

温馨提示

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

最新文档

评论

0/150

提交评论