安徽省淮南市全国计算机等级考试Python语言程序设计预测试题(含答案)_第1页
安徽省淮南市全国计算机等级考试Python语言程序设计预测试题(含答案)_第2页
安徽省淮南市全国计算机等级考试Python语言程序设计预测试题(含答案)_第3页
安徽省淮南市全国计算机等级考试Python语言程序设计预测试题(含答案)_第4页
安徽省淮南市全国计算机等级考试Python语言程序设计预测试题(含答案)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

安徽省淮南市全国计算机等级考试Python语言程序设计预测试题(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.属于Python读取文件中一行内容的操作是()。

A.readtext()B.readline()C.readall()D.read()

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

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

3.在Python中,能够处理图像的第三方库是()。

A.pyinstallerB.pyserialC.pygameD.PIL

4.在Python中,将二维数据写入CSV文件,最可能使用的函数是()。

A.write()B.split()C.join()D.exists()

5.以下关于程序的异常处理的描述中,错误的是()。

A.except语句后面可以指定异常类型

B.异常和错误是两个相同的意思

C.带有else子句的异常处理结构,当try中的语句块正常执行结束且没有异常时执行else子句中的代码

D.异常处理机制虽然可以解决程序的一些错误,但不建议过度依赖

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

A.Python中,可以使用import语句将一个源代码文件作为模块导入

B.在系统导入模块时,会创建一个名为源代码的文件的对象,该对象引用模块的名字空间,即可通过这个对象访问模块中的函数和变量

C.import语句可在程序的任何位置使用,可以在程序中多次导入统一模块,每次导入该模块时都会将该模块中的代码执行一次

D.模块导入时可以使用as关键字来改变模块的引用对象名字

7.以下关于CSV文件的描述中,正确的是()。

A.CSV文件只能采用Unicode编码表示字符

B.CSV文件的每一行是一维数据,可以使用Python的元组类型表示

C.CSV文件是一种通用的文件,主要用于不同程序之间的数据交换

D.CSV文件是一个一维数据

8.若I,j均为整形数值对象,以下哪个语句计算i被j除后的余数()

A.imodjB.i/jC.i%jD.i//j

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

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

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

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

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

10.执行eval('l1=[5,7,9]')后()

A.[5,7,9]B.l1=[5,7,9]C.异常D.没有任何返回

11.在软件开发中,需求分析阶段可以使用的工具是()。

A.N-S图B.数据流图C.PAD图D.程序流程图

12.如果定义班级关系如下:班级(班级号,总人数,所属学院,班级学生)则使它不满足第一范式的属性是()。

A.班级号B.班级学生C.总人数D.所属学院

13.执行以下代码的结果是()A.4B.5C.8D.12

14.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。

A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩

15.以下程序的输出结果是()。x=‘R\0S\0T’print(len(x))

A.3B.5C.7D.6

16.下面代码的输出结果是()。foriin”football":ifi==”t”:continueprint(i,end=“”)

A.无输出B.llC.footbaD.fooball

17.下列叙述中正确的是()。A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的

B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构

C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构

D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性

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

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

19.下列关于列表的说法正确的是()。

A.列表中的值可以是任何数据类型,被称为元素或项

B.列表的索引序号是从1开始的,以此类推

C.使用append()函数可以向列表的指定位置插入元素

D.使用remove()函数可以从列表中删除元素,但必须知道元素在列表中的位置

20.以下关于Python全局变量和局部变量的描述中,错误的是()。

A.局部变量在使用过后立即被释放

B.全局变量一般没有缩进

C.全局变量和局部变量的命名不能相同

D.一个程序中的变量包含两类:全局变量和局部变量

21.执行以下代码的结果是?A.1B.2C.4D.异常报错

22.100-25*3%4应该输出什么?

A.1B.0C.25D.97

23.以下代码的输出结果是()。defHello(famlyName,age):ifage>50:print(”您好!”+famlyName+”奶奶”)elifage>40:print(”您好!”+famlyName+”阿姨”)elifage>30:print(”您好!”+famlyName+”姐姐”)else:print(”您好!”+”小”+famlyName)Hello(age=43,famlyName=”赵”)

A.您好!赵奶奶B.您好!赵阿姨C.您好!赵姐姐D.函数调用出错

24.以下代码的输出结果是()。forsin"PythonNCRE":ifs=="N”:breakprint(s,end="")

A.PythonCREB.NC.PythonD.PythonNCRE

25.程序流程图中带有箭头的线段表示的是()。

A.图元关系B.数据流C.控制流D.调用关系

26.以下不属于Python数据分析领域第三方库的是()。

A.scrapyB.numpyC.lmndasD.matplotlib

27.树的度为3,共有29个结点,但没有度为1和2的结点。则该树中叶子结点数为()。

A.OB.9C.18D.不可能有这样的树

28.ls=[2,”apple”,[42,”yellow”,”misd”],1.2],表达式ls[2][一1][2]的结果是()。

A.mB.iC.sD.d

29.以下关于Python语言的描述中,正确的是()。

A.条件4<=5<=6是合法的,输出False

B.条件4<=5<=6是不合法的

C.条件4<=5<=6是合法的,输出True

D.条件4<=5<=6是不合法的,抛出异常

30.下面属于P)rthon文本处理方向的第三方库的是()。

A.PILB.mayaviC.TVTKD.pdfminer

二、判断题(10题)31.带有else子句的异常处理结构,如果不发生异常则执行else子句中的代码。

A.是B.否

32.异常处理结构也不是万能的,处理异常的代码也有引发异常的可能。

A.是B.否

33.只能通过切片访问元组中的元素,不能使用切片修改元组中的元素。

A.是B.否

34.在Windows平台上编写的Python程序无法在Unix平台运行。A.是B.否

35.当作为条件表达式时,[]与None等价。

A.是B.否

36.Python集合中的元素可以是元组。

A.是B.否

37.3+4j不是合法的Python表达式。

A.是B.否

38.在函数内部没有办法定义全局变量。

A.是B.否

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

A.是B.否

40.Python集合不支持使用下标访问其中的元素。

A.是B.否

三、填空题(10题)41.表达式{1,2,3}<{1,2,4}的值为___________。

42.Python内置函数()用来返回序列中的最小元素。

43.使用运算符测试集合包含集合A是否为集合B的真子集的表达式可以写作_______。

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

45.已知列表x=[1,2],执行语句y=x[:]后,表达式xisnoty的值为_______。

46.已知列表x=list(range(10)),那么执行语句delx[::2]之后,x的值为_________。

47.已知有函数定义defdemo(*p):returnsum(p),那么表达式demo(1,2,3)的值为______、表达式demo(1,2,3,4)的值为_________。

48.表达式3|5的值为__________。

49.表达式list(filter(lambdax:x%2==0,range(10)))的值为__________________________。

50.表达式'abc'in('abcdefg')的值为______________。

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

试题程序:

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

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

ifcount%2==0:

print(count,end=”,”)

52.考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。使用Python的异常处理结构编写对数计算,要求底数大于0且不等于1,真数大于0,且输入的必须为实数,否则拋出对应的异常。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准try:a=eval(input(‘请输入底数:’))b=eval(input(‘请输入真数:’))c=_____exceptValueError:…exceptZeroDivisionError:print(‘底数不能为1’)exceptNameError:Prints(‘输入必须为实数’)else:print(C)

53.考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能:马和骆驼都是哺乳动物的一种,它们都有四只脚,体型也差不多大,作为现实世界中的一个类生物,我们将在这里为它们编写属于它们各自的类。

问题1:在PY301一1.py文件中修改代码,代码中编写了一个马(Home)的类,在这个类中马有三个属性,分别是年龄(age)、品种(category)和性别(gender)。在每创建一个马的对象时,我们需要为其指定它的年龄、品种和性别。该类中还编写一个get_deseriptive()方法,能够打印出马的这三个属性。每一匹马都有自己的最快速度,所以类中有一个speed()方法,可以打印出马的最快速度值。并且在马的生命过程中,它的速度一直在变,类中还有一个update_speed()方法用来更新马当前的最快速度值。

例如:一匹12岁的阿拉伯公马,在草原上奔跑的速度为50km/h,要求调用get_descriptive()和update_speed()方法,将输出的结果保存在考生文件夹下,文件命名为“PY301—1.txt”。

试题程序:

#以下代码为提示框架

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

#请在_____处使用一行代码替换

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

fo=open(“PY301—1.txt”,”W”)______Horse():

def______(self,category,gender,age):

defget_descriptive(self):

info=’thishorseis’+_____+’yearsold,’+’itscategoryis’+_+’,’+’itsfenderis’+_______+’.’

fo.write(info+“\n”)

defupdate_speed(self,new_speed):________

fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)

fo.close()

问题2:在PY301—2.py文件中修改代码,该代码编写了一个骆驼类(Camel),这个类继承自上一个文件中的马类但是不对马类中的属性和方法进行操作。因为每个骆驼的驼峰数量不一致,我们在类中添加驼峰数目这个新属性,并且添加一个打印出骆驼驼峰数量的方法。

例如:一个双峰驼20岁的母骆驼以每小时40千米的速度奔跑在沙漠中,调用父类的方法和Camel类本身的方法将结果保存在“PY301—2.txt”中,保存在考生文件夹下。试题程序:#以下代码为提示框架#请在…处使用一行或多行代码替换

#请在________处使用一行代码替换

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

fo=open(”PY301—2.txt”,”W”)

________Horse():

def_______(self,category,gender,age):

defget_descriptive(self):

info=’thishorseis’+________+’yearsold,’+’itscategoryis’+_______+’,’+’itsfendemis’+_______+’.’

fo.write(info+"\n")

defupdate_speed(self,new_speed):

________fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.\n”)clasSCamel(Horse):

def__init__(self,category,gender,age):

______.__init__(category,gender,age)

self.hump_size=2defdescribe_hump_size(self):

fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)

fo.close()

参考答案

1.B在Python中,文件读取方法如下(f代表文件变量)。f.read():从文件中读入整个文件内容。f.readline():从文件中读入一行内容。f.readlineS():从文件中读入所有行,以每行为元素形成一个列表。f.seek():改变当前文件操作指针的位置。本题选择B选项。

2.D

3.DPIL库是Python在图像处理方面的重要的第三方库,支持图像存储、处理及显示,它能够处理几乎所有的图片格式,可以完成对图像的缩放、剪裁、叠加以及为图像添加线条、图像及文字等操作。使用Python处理与图像相关的程序,首选PIL库。本题选择D选项。

4.C在Python中,二维列表对象输出CSV文件时,采用遍历循环和字符串的join()方法相结合的方法。方法如下:#ls代表二维列表,此处省略f=open('cpi.csv','w')forrowinIs£.write(“,'.join(row)\\n')f.close()本题选择C选项。

5.B编程语言的异常和错误是两个相似但不相同的概念。异常和错误都可能引起程序执行错误而退出,它们属于程序没有考虑到的例外情况。

6.Cimport语句确实可以在程序的任何位置使用,但是当在程序中多次导入同一个模块时,该模块中的代码仅仅在该模块被首次导人时执行,所以C项错误。

7.CCSV文件是一种通用的、相对简单的文件,最广泛的应用是在程序之间转移表格数据。CSV文件没有通用标准规范,使用的字符编码同样没有被指定,但ASCII是最基本的通用编码。CSV文件可以保存一维数据或二维数据,每一行是一维数据,可以使用Python的列表类型表示。本题选择C选项。

8.C

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

10.C

11.B在需求分析阶段可以使用的工具有数据流图,数据字典(DataDictionary,DD),判定树与判定表,本题选择B选项。

12.B对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式模式。题目中“班级”关系的“班级学生”属性,还可以进行再分,如学号、姓名、性别、出生日期等,因此不满足第一范式。本题选择B选项。

13.B

14.C学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C项。

15.B在Python中len()函数可以输出字符串长度,x=‘R\\0S\\0T’,分别有R、\\0、S、\\0和T这5个字符,所以len(x)=5,print(len(x))是将5输出来。这里要注意,Python中len()函数遇见,‘\\0’不结束,‘\\0’算是一个转义字符。本题选择B选项。

16.Dcontinue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。本题选择D选项。

17.B线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。

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

19.A列表的索引序号是从0开始的,以此类推;使用append()函数可以向列表插入元素,但只能插入到列表的末尾;使用remove(x)函数是将列表中出现的第一个x元素删除。

20.C根据程序中变量所在的位置和作用范围,变量分为局部变量和全局变量。局部变量指在函数内部定义的变量,仅在函数内部有效,且作用域也在函数内部,当函数退出时变量将不再存在。全局变量一般指在函数之外定义的变量,在程序执行全过程有效,一般没有缩进,全局变量和局部变量的命名可以相同,C项错误。

21.D

22.D

23.B将实参age=43,famlyName=”赵”分别赋给形参age和famlyName,之后进入多分支结构进行判断,因为40<age=43<50,执行第一个elif后面的语句,用”+”进行字符串连接,故输出“您好!赵阿姨”。本题选择B选项。

24.Cfor循环将字符串PythonNCRE的字符依次赋给变量s,当s==”\nN”时,跳出for循环,故输出为Python。本题选择C选项。

25.C解析:程序流程图是人们对解决问题的方法、思路或算法的一种描述。其中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。带箭头的线段在数据流程图中表示数据流。带箭头的线段在程序流程图中表示控制流。题中给出的选项中,在图元之间用带有箭头的线段表示图元关系。在模块之间用带有箭头的线段表示调用关系。构成程序流程图的基本图符及含义:→或↓表示控制流;□表示加工步骤;

表示逻辑条件。

26.A在Python语言中,用于数据分析的第三方库有numpy、scipy、pandas和matplotlib。scrapy库是网络爬虫方向的第三方库。

27.D树的度为3,即树中只存在度为0、1、2、3的结点,假设叶子结点数为n,由于没有度为1和2的结点,则度为3的结点数为29一n,根据树中的结点数=树中所有结点的度之和+1,得3×(29一n)+0×1+0×2+n×0+1=29,得出的n不为整数,因此不存在这样的树。本题选择D选项。

28.C列表索引正向递增索引从0开始,反向递减索引从一1开始,ls[2][一1][2]指的是列表中下标为2的元素下的下标为一1元素下的下标为2的元素,输出结果是s。本题选择C选项。

29.C判断条件4<=5<=6是成立的,故输出True。本题选择C选项。

30.Dmayavi和TVTK是数据可视化方向的第三方库,PIL是图像处理方面的第三方库。本题选择D选项。

31.Y

32.Y

33.Y

34.Npython代码支持window和Linux下跨平台

35.Y

36.Y

37.N

38.N

39.Y

40.Y

41.False

42.min()

43.A

44.NoneNone

45.True

46.[1,3,5,7,9]

47.6、10

48.7

49.[0,2,4,6,8]

50.True

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.?Importmathtry:a=eval(input('请输入底数:”))b=eval(input(‘请输入真数:’))c=math.log(b,a)exceptValueError:ifa<=0andb>0:Print(‘真数和底数都不能小于等于0’)exceptZeroDivisionError:print(’底数不能为1’)exceptNameError:print(输入必须为实数’)else:print(c)ax=/V(a>0,a≠1),那么指数x叫作以a为底N的对数,记作x\r\n=logaN其中a叫作对数的底数,叫作真数。要使用对数,需先导入math库,math.log(x[,base])返回x的自然对数,x>0。使用异常处理机制时,根据不同的错误类型,输出不同的信息内容,在值错误类型下,使用if判断语句将有可能错误的信息进行处理。

53.(1)fo=open(”PY301一1.txt”,”w”)\r\nclassHorse():

def==init==(self,category,gender,age):\r\n

self.category=category\r\n

self.gender=gender\r\n

self.age=age\r\n

self.horse_speed=0\r\n

defget_descriptive(self):\r\n

info=’thishorseis’+str(self.age)+’yearsold,’+’itscategoryis’+self.category+’,’+'itsfenderis'+self.gender+’.’\r\n

fo.write(info+”\n”)\r\ndefupdate_speed(self,new_speed):\r\n

self.horse_speed=new_speed\r\n

fo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)\r\nhorse=Horse("Arab","male","12")\r\nhorse.get_deseriptive()\r\nhorse.update_speed(50)\r\nfo.close()\r\n(2)fo=open(”PY301~2.txt”,”w”)\r\nclassHorse():\r\n

def__init__(self,category,gender,age):\r\n

self.category=category\r\n

self.gender=gender\r\n

self.age=age\r\n

self.ho

温馨提示

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

评论

0/150

提交评论