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

下载本文档

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

文档简介

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

一、单选题(30题)1.以下代码的输出结果是()。CLis=list(range(5))print(5inCLis)

A.TrueB.FalseC.0D.一1

2.下列关于Python内置函数的使用,描述错误的是()。

A.int(x)是将x转换为一个整数

B.Print(”6+5")的输出是11

C.dic.Clear()的结果是清空字典die

D.使用append()函数可以向列表添加元素

3.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。

A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA

4.下面关于Python中函数参数的说法错误的是()。

A.在函数定义时必须固定参数的数量

B.使用位置参数传参时实参的数量和顺序必须和函数声明时的参数一样

C.若是参数有默认值,在调用函数时没有给参数赋值,调用的函数就会使用这个默认值

D.关键字参数传参是指在调用函数时通过参数名传递值

5.以下程序的输出结果是()。sum=1foriinrange(1,11):sum+=iprint(sum)

A.1B.56C.67D.56.0

6.以下代码的输出结果是()。CLis=list(range(5))print(5inCLis)

A.TrueB.FalseC.0D.-l

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

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

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

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

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

8.执行以下代码的结果是()A.123B.1,2,3,4C.1,2,1,3,1D.1,2,1,3,1,4

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

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

10.以下选项中Python不支持的数据类型是()。A.intB.charC.floatD.list

11.以下代码的输出结果是()。ls=[’book’,666,[2018,’python’,314],20]print(ls[2][1][一2])

A.nB.pythonC.oD.结果错误

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

A.pxint(tstr[4:7])

B.ptint(tstr[5:7])

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

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

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

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

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

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

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

14.以下程序的输出结果是()。>>>s=(3,)>>>type(s)A.<class‘diet’>

B.<class‘tuple’>

C.<class‘list’>

D.<class‘set’>

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

A.PythonCREB.NC.PythonD.PythonNCRE

16.以下关于“for<循环变量>in<循环结构>”的描述,错误的是()。

A.<循环结构>采用[1,2,3]和[‘1’,‘2’,‘3’]的时候,循环的次数是一样的

B.这个循环体语句中不能有break语句,会影响循环次数

C.使用range(a,b)函数指定for循环的循环变量取值是从a到b-1

D.foriinrange(1,10,2)表示循环5次,i的值是从1到9的奇数

17.跳出所处的最近层循环的是()

A.breakB.continuesC.continueD.Pass

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

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

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

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

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

19.下面这段代码的输出是()。l=’abcd’deff(x,result=['a','b,'c','d']):ifx:result.remove(x[一1])f(x[:一1])returnresultprint(f(l))

A.[’a’,,b’,’c’,’d’]B.['b',’c’,’d’]C.[’a’,'b',’c’]D.[]

20.以下程序的输出结果是()。s1,s2=“Mom”,“Dad”print(“{}loves{}”.format(s2,s1))

A.DadlovesMomB.MomlovesDadC.s1lovess2D.s2lovess1

21.以下代码的输出结果是()。Is=[]formin‘想念‘fornin‘家人’Is.append(m+n)print(Is)

A.想念家人B.想想念念家家人人C.想家想人念家念人D.[‘想家’,’想人’,’念家’,’念人’]

22.键盘输入数字5,以下代码的输出结果是()。n=eva](input(”请输入一个整数:”))s=0ifn>=5:n-=1s=4ifn<5:n一=1s=3prim(s)

A.4B.3C.0D.2

23.以下程序被调用后,能够正确执行的是()。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)

24.以下不是Python文件读写方法的是()。

A.writelineB.readlineC.readD.write

25.结构化程序设计的基本原则不包括A.多态性B.自顶向下C.模块化D.逐步求精

26.第三方库BeautifulSoup4的功能是()。

A.解析和处理HTML和XMLB.支持Web应用程序框架C.支持WebServices框架D.处理HTTP请求

27.在Python语言中,包含矩阵运算的第三方库是()。

A.numpyB.PyQt5C.wordcloudD.wxPython

28.以下程序输出的图形是()。foriinrange(-3,4): ifi<0: print(‘’*(-i)+‘*’*(4+i)) elifi>0: print(‘’*3+‘*’*(4-i)) else: print(‘*’*7)

A.

B.

C.

D.

29.在Python中,可以作为源文件扩展名的是()。

A..pngB..pdfC..pyD..ppt

30.以下程序的输出结果是()。a=10b=1try:c=b//(b/a)print(c)except(IOError,ZeroDivisionError):print(“calculationerror”)else:print(“noerror”)A.calculationerrorB.noerrorC.10.0D.9.0

二、判断题(10题)31.列表对象的append()方法属于原地操作,用于在列表尾部追加一个元素。

A.是B.否

32.Python列表、元组、字符串都属于有序序列。

A.是B.否

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

34.Python变量名区分大小写,所以student和Student不是同一个变量。

A.是B.否

35.在函数内部直接修改形参的值并不影响外部实参的值。

A.是B.否

36.Python类不支持多继承。

A.是B.否

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

A.是B.否

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

A.是B.否

39.正则表达式元字符“\d”用来匹配任意数字字符。

A.是B.否

40.Python字典中的“键”可以是元组。

A.是B.否

三、填空题(10题)41.Python中定义函数的关键字是_________________。

42.任意长度的Python列表、元组和字符串中最后一个元素的下标为________。

43.如果函数中没有return语句或者return语句不带任何返回值,那么该函数的返回值为_________________。

44.已知x=[3,5,3,7],那么表达式[x.index(i)foriinxifi==3]的值为______________。

45.表达式int('123',16)的值为_________。

46.表达式[1,2,3].count(4)的值为_______________。

47.Python标准库__________对Socket进行了二次封装,支持Socket接口的访问,大幅度简化了网络程序的开发。

48.已知x=[1,2,3,4,5],那么执行语句delx[1:3]之后,x的值为____________。

49.已知x=[3,2,3,3,4],那么表达式[indexforindex,valueinenumerate(x)ifvalue==3]的值为____________。

50.字典对象的____________方法返回字典的“键”列表。

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

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

53.考生文件夹下存在3个Python源文件,分别对应3个问题,请按照文件内说明修改代码,实现以下功能。法定节假日是根据各国、各民族的风俗习惯或纪念要求,由国家法律统一规定的用以庆祝及度假的休息时间。法定节假日制度是国家政治、经济、文化制度的重要反映,涉及经济社会的多个方面,涉及广大人民群众的切身利益。法定节假日的安排,为居民出行、购物和休闲提供了时间上的便利,为拉动内需、促进经济增长做出了积极贡献。给出一个某年的节假日的放假日期CSV文件(PY301-vacations.CSV),内容示例如下。序号节假日名称开始月日结束月日1元旦123001012春节021502213清明节040504074劳动节050105035端午节06160618以第1行为例,1230表示12月30日,0101表示1月1日。问题1:在“PY301-1.py”文件中修改代码,读入CSV文件中的数据,获得用户输入。根据用户输入的节假日名称,输出此节假日的时间范围。输入和输出本例格式如下。请输入节假日名称(例如,春节):春节春节的假期位于0215~0221之间试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准Is=[]print("{}的假期位于{}-{}之间”,.format())问题2:在“PY301-2.py”文件中修改代码,读入CSV文件的数据,获得用户输入。用户输入一组范围是1?7的整数作为序号,序号间采用空格符分隔,以回车符结束。输出这些序号对应的节假日的名称、时间范围,每个节假日的信息一行。本次输出完成后,重新回到输入序号的状态。输入和输出示例格式如下。请输入节假日序号:15元旦(1)假期是12月30日至01月01日之间端午节假期(5)是06月16日至06月18日之间请输入节假日序号:试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准...Is=[]print("{}({})假期是{}月{}日至{}月{}日之间".format())问题3:在问题2的基础上,在“PY301-3.Py”文件中修改代码,对输入的每个序号做合法性处理。如果输入的数字不不合法,请输出“输入节假日编号有误!”,继续输出后续信息,然后重新回到输入序号的状态。输入和输出示例格式如下。请输入节假日序号:51411端午节(5)假期是06月16日至06月18日之间输入节假日编号有误!输入节假日编号有误!请输入节假日编号:试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的处用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准Is=[]print("{}({})假期是{}月{}日至{}月{}日之间".format())ifflag==False:print("输入节假日编号有误!”)...

参考答案

1.Brange()函数的语法:range(start,stop,step),作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列(注意不包含数stop),step是步进参数。cLis=list(range(5)),生成一个列表,包含0,1,2,3,4。因为5不在CLis列表中,故返回False。

2.BB选项中正确的输出应为6+5,若print()函数圆括号内的变量用引号标注,则视为字符串。本题选择B选项。

3.B栈按先进后出的原则组织数据,所以入栈最早的元素最后出栈,本题选择B选项。

4.A在Python中,在函数定义时是可以设计可变数量参数的,通过在参数前加星号(*)实现。可变参数在定义时只有两种变现形式:*param和**param,前者表示可以接受多个位置参数收集的实参组成一个元组,后者表示可以接收多个关键字参数收集的实参名和值组成一个字典。

5.Bforiinrange(1,11)是将1,2,3,4,5,6,7,8,9,10依次赋给变量i,用变量sum累加每一次变化的i的值,最终sum=56。本题选择B选项。

6.Brange()函数的语法为range(start,stop,\nstep),作用是生成一个从start参数的值开始,到stop参数的值结束的数字序列(注意不包含数参stop),step是步进参数。CLis=\nlist(range(5)),生成一个列表,包含0、1、2、3、4。因为5不在CLis列表中,故返回False。本题选择B选项。

7.CPython中导入模块中的所有函数用的是星号(*)运算符而不是井号(#)运算符,所以C选项错误。

8.C

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

10.BPython不支持char类型,只支持数字类型和字符串类型。其中数字类型包括整数、浮点数和复数。

11.C列表索引序号从0开始,列表遵循正向递增索引和反向递减索引,故ls[2][1][一2]是字符o。

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

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

14.B变量s是元组类型,type()返回的是表达式的值的类型。本题选择B选项。

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

16.Bfor语句的循环执行次数是根据<循环结构>中元素的个数确定的,[1,2,3]和[‘1’,‘2’,‘3’]均有3个元素,因此循环次数是一样的,A选项正确。range()函数只有一个参数时表示会产生从0开始计数到输入参数的前一位整数结束的整数列表;有两个参数时,则将第一个参数作为起始位,第二个参数作为结束位,输出从起始位到结束位的前一位的整数列表;有3个参数时,第三个参数表示步长,起始位按照步长递增或递减。因此选项C、D正确。循环体中的break语句的确能影响循环次数,但是不代表循环体中不能有break语句,B选项错误。本题选择B选项。

17.A

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

19.D这段代码是一个递归函数,作用是把result列表中所有与1中一致的元素删除,所以最后的结果是一个空的列表,即[]。

20.APython使用format()格式化方法,使用方式为<模板字符串>.format(<逗号分隔的参数>),其中模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用花括号({})表示,对应format()方法中逗号分隔的参数。如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应format()方法中的不同参数。参数根据出现的先后次序存在一个默认序号。本题选择A选项。

21.D外层fox第1次循环将字符’想’赋给变量m,m=‘想’,内层for第1次循环将’家’赋给变量n,则m+\nn连接字符,利用列表的append()方法将连接后的字符’想家’加入列表Is;内层for第2次循环将’人’赋给变量n,则m+\nn连接字符,利用列表的append()方法将连接后的字符’想人’加入列表Is。外层for第2次循环将字符’念’赋给变量m,m\n=’念’,内层for第1次循环将家赋给变量n,则m+\nn连接字符,利用列表的append()方法将连接后的字符’念家'加入列表Is;内层for第2次循环将’人’赋给变量n,则m+\nn连接字符,利用列表的append()方法将连接后的字符’念人’加入列表Is。最后列表Is=\n[‘想家’,’想人’,’念家’,’念人’],print(ls)输出Is。本题选择D选项。

22.B输入5,因为n=5满足第一个if条件,所以n=n一1,n=4,s=4;由于现在n=4,满足第二个if条件,所以执行n=n一1,n=3,s=3。print(s),输出3。

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

24.APython文件的读写方法有(file表示使用open函数创建的对象):\nfile.read([size]):参数可选,若未给定参数或参数为负则读取整个文件内容;若给出参数,则读取前size长度的字符串或字节流。\nfile.readline([size]):参数可选,若未给定参数或参数为负则读取一行内容;若给出参数,则读取该行前size长度的字符串或字节流。\nfile.readlines([hint]):参数可选,若未给定参数或参数为负则从文件中读取所有行,以每行为元素形成一个列表;若给出参数,则读取hint行。\nfile.write(str):将字符串或字节流写入文件。\nfile.writelines(1ines):向文件写入一个序列字符串列表。

25.A结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用GOTO语句,其中不包括多态性。

26.ABeautifulSoup4用于解析和处理HTML和XML。它的最大优点是能根据HTML和XML语法建立解析树,进而高效解析其中的内容。本题选择A选项。

27.Anumpy是Python的一种开源数值计算扩展第三方库,用于处理数据类型相同的多维数组,简称“数组”。numpy可以用来存储和处理大型矩阵,提供了许多高级的数组编程工具,如矩阵运算、矢量处理、N维数据变换等。本题选A选项。

28.Ai的取值区间为[-3,4)且为整数,当i=0时,根据判断条件应在一行输出7个*,且行前无空格。通过4个选项比较,采用排除法,只有A选项满足条件。本题选择A选项。

29.C在Python中,源文件的扩展名一般使用.py。本题选择C选项。

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

31.Y

32.Y

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

34.Y

35.Y

36.N

37.N

38.N

39.Y

40.Y

41.def

42.-1

43.None

44.[0,0]

45.291

46.0

47.socket

48.[1,4,5]

49.[0,2,3]

50.keys()

51.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多分支结构实现。

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

53.Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“请输入节假日名称”)Forlineinis:Ifs==line[1]Print(“{}的假期位于{}-{}之间”.format(line[1],line[2],line[3]))(2)Fi=open(“PY301-vacations.csv”,”r”)Is=[]Foulineinfi:Is.append(line.strip(“\\n”).split(“,”))S=input(“请输入节假日序号”).split(“”)Whilet

温馨提示

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

最新文档

评论

0/150

提交评论