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

下载本文档

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

文档简介

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

一、单选题(30题)1.以下关于语言类型的描述中,正确的是()。

A.静态语言采用解释方式执行,脚本语言采用编译方式执行

B.C语言是静态编译语言,Python语言是脚本语言

C.编译是将目标代码转换成源代码的过程

D.解释是将源代码一次性转换成目标代码同时逐条运行目标代码的过程

2.面向对象程序设计的三要素不包含()。

A.封装B.公有C.继承D.多态

3.如果文件a.txt在目录“C:\\A”下,执行以下代码会发生的操作是()。importosos.rmdir(r'C:\\A’)

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

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

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

D.OSError

4.以下程序的意义是()。>>>car=‘BWM’>>>id(car)

A.查看变量所占的位数B.转换成布尔值C.查看变量在内存中的地址D.把变量中的元素随机排列

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

A.random.choice(k)

B.random.shuffle(k)

C.random.getrandbits(k)

D.random.sample(k)

6.执行以下代码的结果是()A.3B.5C.6D.8

7.以下程序被调用后,能够正确执行的是()。deff(x,y=1,z=2):pass

A.f(x=1,2)B.f(x=1,y=2,z=3)C.f(1,x=2,z=3)D.f(1,y=2,3)

8.在Python语言中,使用open()打开一个Windows操作系统D盘下的文件,路径名错误的是()。

A.D:\PythonTest\a.txt

B.D:\\PythonTest\\a.txt

C.D:/PythonTest/a.txt

D.D://PythonTest//a.txt

9.以下关于Python字符编码的描述中,正确的是()。

A.Python字符编码使用ASCII值存储

B.chr(x)和ord(x)函数用于在单字符和Unicode值之间进行转换

C.print(chr('a’))输出97

D.print(ord(65))输出A

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

A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

D.循环队列中元素的个数由队头指针和队尾指针共同决定

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

A.对文件进行读写操作之后必须关闭文件以防文件丢失

B.以追加模式打开的文件,文件存在则在原文件最后追加内容,不存在则创建

C.文件对象的seek()方法用来返回文件指针的当前位置

D.文件对象的readlines()方法用来读取文件中的所有行,以每行为元素形成一个列表

12.以下描述中,错误的是()。

A.Python通过索引来访问列表中元素,索引可以是负整数

B.列表用方括号来定义,继承了序列类型的所有属性和方法

C.Python列表是各种类型数据的集合,列表中的元素不能够被修改

D.Python的列表类型能够包含其他的组合数据类型

13.以下关于Python复数类型的描述中,错误的是()。

A.复数可以进行四则运算

B.实部不可以为0

C.Python中可以使用z.real和a.imag分别获取它的实部和虚部

D.复数类型与数学中复数的概念一致

14.假设city.csv文件内容如下:巴哈马,巴林,孟加拉国,巴巴多斯白俄罗斯,比利时,伯利兹以下代码的输出结果是()。f=open(”city.csv”,”r”)ls=f.read().split(”,”)f.close()print(ls)

A.[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯\n白俄罗斯’,’比利时’,’伯利兹’]

B.[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯’,’白俄罗斯’,’比利时’,’伯利兹’]

C.[’巴哈马,巴林,孟加拉国,巴巴多斯,白俄罗斯,比利时,伯利兹’]

D.[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯’,’\n’,’白俄罗斯’,’比利时’,’伯利兹’]

15.以下程序的输出结果是()。L1=[4,5,6,8].reverse()print(L1)

A.[8,6,5,4]B.[4,5,6,8]C.NoneD.[4,5,6,8,]

16.静态成员变量称为类变量,非静态成员变量称为实例变量,下列关于一个类的静态成员的描述中,不正确的是()

A.该类的对象共享其静态成员变量的值

B.静态成员变量可被该类的所有方法访问

C.该类的静态方法只能访问该类的静态成员变量

D.该类的静态数据成员变量的值不可修改

17.以下哪种类型是Python的映射类型?()

A.strB.tupleC.listD.dict

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

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

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

A.selfB.clsC.@staticmethodD.@classmethod

20.执行以下程序,导致输出”输入有误”的输入选项是()。try:ls=eval(input())*2print(ls)except:print(’输入有误’)

A.’aa’B.’12’C.aaD.12

21.执行以下代码的结果是?3+5j>=5+3j

A.TrueB.FalseC.0D.异常报错

22.在Python中,关于数据类型的描述错误的是()。

A.整数的书写格式支持十进制、二进制、八进制和十六进制

B.如果想知道参数的数据类型,可以使用type()函数获得

C.整数、浮点数、复数和布尔值都是Python的基本数据类型

D.浮点数是带有小数的数字,它存在范围的限制,如果计算结果超出上限和下限的范围不会报错,但会有warning的警告

23.以下关于Python字典变量的定义中,正确的是()。

A.d={[1,2]:1,[3,4]:3}

B.d={1:as,2:sf}

C.d={(1,2):1,(3,4):3}

D.d={‘python’:1,2:[tea,cat]}

24.以下关于Python中字典的描述正确的是()。

A.字典用花括号({})创建,每个元素都是一个键值对

B.创建字典只能通过dict()函数

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

D.使用del语句进行字典操作时,不需要指定字典名和要删除的键

25.文件exam.txt与以下代码在同一目录下,其内容是一段文本:bigBen,以下代码的输出结果是()。f=open(”exam.txt”)print(f)f.close()

A.bigBenB.exam.txtC.<_io.TextIOWrapper…>D.exam

26.以下程序中,while循环的循环次数是()。i=0whilei<10: ifi<1: print(“Python”) continue ifi==5: print(“World!”) break i+=1

A.10B.5C.4D.死循环,不能确定

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

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

28.属于Python读取文件一行操作的是()。

A.readtextB.readlineC.readallD.read

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

30.下面代码的输出结果是()。deffun(x,y,z):u=x+y-zprint(u)fun(l+2j,5,4-lj)

A.NameErrorB.(2+3j)C.2D.3j

二、判断题(10题)31.Python字符串方法replace()对字符串进行原地修改。

A.是B.否

32.9999**9999这样的命令在Python中无法运行。

A.是B.否

33.文件对象是可以迭代的。

A.是B.否

34.生成器推导式比列表推导式具有更高的效率,推荐使用。

A.是B.否

35.可以使用py2exe或pyinstaller等扩展库把Python源程序打包成为exe文件,从而脱离Python环境在Windows平台上运行。

A.是B.否

36.定义类时所有实例方法的第一个参数用来表示对象本身,在类的外部通过对象名来调用实例方法时不需要为该参数传值。

A.是B.否

37.正则表达式元字符“\s”用来匹配任意空白字符。

A.是B.否

38.同一个列表对象中的元素类型可以各不相同。

A.是B.否

39.3+4j是合法Python数字类型。

A.是B.否

40.定义类时如果实现了__contains__()方法,该类对象即可支持成员测试运算in。

A.是B.否

三、填空题(10题)41.Python程序文件扩展名主要有__________和________两种,其中后者常用于GUI程序。

42.已知有列表x=[[1,2,3],[4,5,6]],那么表达式[[row[i]forrowinx]foriinrange(len(x[0]))]的值为___________________________。

43.已知x={'a':'b','c':'d'},那么表达式'b'inx.values()的值为______________。

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

45.字典中多个元素之间使用____________分隔开,每个元素的“键”与“值”之间使用________分隔开。

46.表达式re.search(r'\w*?(?P\b\w+\b)\s+(?P=f)\w*?','Beautifulisisbetterthanugly.').group(0)的值为___________。

47.已知x={'a':'b','c':'d'},那么表达式'a'inx的值为______________。

48.表达式range(10)[-1]的值为____________。

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

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

四、操作题(3题)51.考生文件夹下存在一个文件“PY201.py”,请写代码替换横线,不修改其他代码,实现以下功能。使用turtle库的turtle.right()函数和turtle.fd()函数绘制一个五角星,边长为200像素,5个内角度数为36度,效果如下所示。试题程序:#请在程序的_____处使用一行代码或表达式替换#注意:请不要修改其他已给出代码fromturtleimport*foriin_____(1)_____:fd(_____(2)_____)_____(3)_____

52.考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。马和骆驼都是哺乳动物,它们都有4只脚,体型也差不多大,我们将在这里为它们编写属于它们各自的类。问题1:在“PY301-l.py”文件中修改代码,代码中编写了一个马(Horse)的类,在这个类中马有3个属性,分别是年龄(age)、品种(category)及性别(gender)。在每创建一个马的对象时,我们需要为其指定它的年龄、品种及性别。该类中还编写一个get_descriptive()方法,能够输出马的这3个属性。每一匹马都有自己的最快速度,所以类中有一个speed()方法,可以输出马的最快速度值。并且在马的生命过程中,它的速度一直在变,类中还有一个update_Speed()方法用来更新马当前的最快速度值。例如:一匹12岁的阿拉伯公马,在草原上奔跑的速度为50千米每小时,要求调用get_descriptive()和up-date_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‘+_____+‘,’+‘itsfenderis‘+_____+’,’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()

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.B高级语言根据计算机执行机制的不同可分为两类:静态语言和动态语言。静态语言采用编译方式执行,脚本语言采用解释方式执行。例如,C语言是静态语言,Python是脚本语言。编译是将源代码转换成目标代码的过程。解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。本题选B选项。

2.B面向对象程序设计的三要素分别为封装、继承、多态。

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

4.Cid(x)是Python中的内置函数,用来查看变量在内存中的地址。本题选择C选项。

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

6.A

7.B函数的参数在定义时可以指定默认值,当函数被调用时,如果没有传人对应的参数值,则使用函数定义时的默认值替代。本题在定义函数时,y=1,z=2就是指定的默认值。在Python中,函数调用时,参数传递的主要方式有位置传递和关键字传递两种。位置传递是根据函数定义的参数位置来传递参数;关键字传递是根据每个参数的名字传递参数,该方式不用区分参数顺序位置,名字对了就行。关键字传递可以和位置传递混用,但混用时位置参数要出现在关键字参数之前。A项,第一个参数为关键字传递,第二个参数为位置传递,混用顺序不对;D项,第二个参数为关键字传递,第三个参数为位置传递,混用顺序不对;C项,第一个参数已经使用位置传递(将1传递给x),第二个参数又使用关键字传递将2传递给x,会出现异常报错。故答案为B项。

8.A在Python语言中,使用open()打开文件的操作过程中需要注意,由于’\’是字符串中的转义符,所以表示路径时,使用”\\”、”/”或”//”代替”\”,A项错误。

9.B在Python中,字符编码以Unicode值存储。chr(x)和ord(x)函数用于在单字符和Unicode值之间进行转换。chr(x)函数返回Unicode值对应的字符,ord(x)函数返回单字符x对应的Unicode值,如chr(1010)返回’c’,ord(”和”)返回21644。因此,选项C、D错误。本题选择B选项。

10.D循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A错误;在循环队列中需要队头指针与队尾指针来共同反映队列中元素的动态变化情况,所以选项B,C错误。本题选择D选项。

11.C文件对象的seek()方法用来定位文件的读/写位置,tell()方法用来返回文件指针的当前位置。

12.C列表用方括号([])表示,由于列表属于序列类型,因此继承了序列类型的所有属性和方法,B选项正确。索引是列表的基本操作,用于获得列表中的一个元素,该操作沿用序列类型的索引方式,即正向递增索引或反向递减索引,使用方括号作为索引操作符,索引不得超过列表的元素范围,否则将产生In-dexError错误,A选项正确。列表可以进行元素增加、删除、替换、查找等操作,列表没有长度限制,元素类型可以不同,能够包含其他的组合数据类型,故D选项正确、C选项错误。本题选择C选项。

13.B在Python中,复数类型表示数学中的复数,D选项正确。复数可以看作二元有序实数对(a,b),表示a+bj,其中a是实数部分,简称实部;b是虚数部分,简称虚部。虚数部分通过后缀“J”或“j”来表示,实部、虚部都可为0,B选项错误。复数可以进行四则运算,A选项正确。复数类型中,实部和虚部都是浮点类型。对于复数z,可以使用z.real和a.imag分别获取它的实部和虚部,C选项正确。本题选择B选项。

14.A在Python中,split()方法通过指定分隔符对字符串进行切片,返回分隔后的字符串列表。以split(”,”)方法从CSV文件中获得内容时,无法去除换行符。’巴巴多斯\n白俄罗斯’作为一个列表元素出现,所以ls=[’巴哈马’,’巴林’,’孟加拉国’,’巴巴多斯\n白俄罗斯’,’比利时’,’伯利兹’],最后输出列表。本题选A选项。

15.Creversed()方法的作用是将整个列表中的元素反转,第一个元素放在最后一个元素位置上,最后一个元素放在第一个元素位置上;第二个元素放在倒数第二个元素位置上,倒数第二个元素放在第二个元素位置上。最终列表为[8,6,5,4],但此方法本身无返回值。本题选择C选项。

16.D

17.D映射类型是“键一值”数据项的组合,每个元素是一个键值对,即元素是(key,value),元素之间是无序的。键值对是一种二元关系,源于属性和值的映射关系。str、tuple和list都是序列类型,diet,是映射类型。

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

19.A

20.C无论用户输入的是字符还是数字,input()函数统一按照字符串类型输出,当输入aa时,以字符串类型’aa’返回;然后eval()函数处理字符串’aa’,去掉其两侧的引号,将其解释为一个变量,由于之前没有定义过该变量,因此解释器报错,输出”输入有误”。

21.D

22.D浮点数的取值范围在一10308到10308之间,浮点数之间的区分精度约为2.22×10-16。对于除高精度科学计算外的绝大部分运算来说,浮点数类型的数值范围和小数精度足够“可靠”,一般认为浮点数类型没有范围限制。如果计算结果超出上限和下限的范围会产生溢出错误。

23.C在Python中,字典是存储可变数量键值对的数据结构。通过字典类型实现映射,键必须是唯一的,必须是不可变数据类型,值可以是任何数据类型。选项A、D错误。字典使用花括号({})建立,每个元素是一个键值对,使用方式为{<键1>:<值1>,<键2>:<值2>,…,<键n>:<值n>},其中,键和值通过冒号连接,不同键值对通过逗号隔开。字典具有和集合类似的性质,即键值对之间没有顺序且不能重复。本题选择C选项。

24.A创建字典时可以使用花括号({})建立;字典中可以嵌套字典;使用del语句操作字典时,语法格式为del字典名[<键名\n>]。本题选择A选项。

25.Copen()函数打开一个文件,并返回可以操作这个文件的变量f,并且open()函数有两个参数:文件名和打开模式。本题只是打开了文件,并没有对文件进行操作,因此不会输出文件的内容。print(f)语句输出的是变量f代表的文件的相关信息:<_io.TextIOWrappername=exam.txt’mode=’r’encoding=’cp936’>。若想要输出文件的内容,需要把文件的内容读入,如f1=f.read()。本题选择C选项。

26.Dwhile循环的判断条件为真时,进入循环体;判断条件为假时,直接执行while同级的代码。初始值为i=0,进入循环体之后,因为i<1,执行continue语句跳出本次循环,进入下一次循环。i的值始终为0,故程序为死循环。本题选择D选项。

27.C

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

29.B

30.Bfun()函数进行加减计算,输入为复数,按复数加减运算法则计算结果为(2+3j)。本题选择B选项。

31.N

32.N

33.Y

34.Y

35.Y

36.Y

37.Y

38.Y

39.Y

40.Y

41.py、pyw

42.[[1,4],[2,5],[3,6]]

43.True

44.3

45.逗号、冒号

46.'isis'

47.True

48.9

49.32

50.[4,1,2,3]

51.fromturtleimport*foriinrange(5):fd(200)right(144)该题考查的是Python标准库——turtle库,绘制五角星。因为绘制5条边,所以循环执行5次,故第1空填range(5)。因为五角星边长为200像素,所以第2空填200。最后由于本题要求使用right()函数,且五角星的内角为36度,因此第3空填right(\r\n144)。

52.(1)fo=open(”PY301一1.txt”,”w”)classHorse():Def__init__(self,category,gender,age):self.category=categoryself.gender=genderself.age=ageself.horse_speed=0defget_descriptive(self):info=’thishorseis’+str(self.age)+’yearsold,’+’itscategory\r\nis’+self.category+’,’+'itsfenderis'+self.gender+’.’fo.write(info+”\\n”)defupdate_speed(self,new_speed):self.horse_speed=new_speedfo.write(’thespeedofthishorseis’+str(self.horse_speed)+”km/h.”)\r\nhorse=Horse("Arab","male","12")horse.get_deseriptive()horse.update_speed(50)fo.close()(2)fo=open(”PY301-2.txt”,”w”)classHorse():def__init__(self,category,gender,age):self.category=categoryself.gender=genderself.age=ageself.horse_speed=0defget_descriptive(self):info=’thishorseis’+str(self.age)+’yearsold,’+’itscategory\r\nis’+self.category+’,’+'itsfenderis’+self.gender+’.’fo.write(info+”\\n”)defupdate_speed(self,new_speed):self.horse_speed=new_speedfo.write(’thespeed0fthishorseis’+str(self.horse_speed)+”km/h.\\n”)classCamel(Horse):def_init_(self,category,gender,age):super()_init_(category,gender,age)self.hump_size=2defdescribe_hump_size(self):fo.write(’thiscamelhas’+str(self.hump_size)+’hump.’)camel=Camel(Doublehump","female","20")camel.get_descriptive()camel.update_speed(40)camel.descr

温馨提示

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

最新文档

评论

0/150

提交评论