海南省三亚市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第1页
海南省三亚市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第2页
海南省三亚市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第3页
海南省三亚市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第4页
海南省三亚市全国计算机等级考试Python语言程序设计重点汇总(含答案)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

海南省三亚市全国计算机等级考试Python语言程序设计重点汇总(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.在进行CSV文件读写时,最不可能使用的字符串处理方法是()。

A.strip()B.join()C.index()D.split()

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

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

3.单元测试不应涉及的内容是()。

A.模块的接口B.模块的执行路径C.模块的局部数据结构D.模块的出错处理功能

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

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

5.定义学生的关系模式如下:S(S#,Sn,Sex,Age,D#,Da)(其属性分别为学号、姓名、性别、年龄、所属学院、院长)该关系的范式最高是()。

A.1NFB.2NFC.3NFD.BCNF

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

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

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

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

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

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

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

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

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

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

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

10.下面代码的输出结果是()。f=lambdaX,Y:Xifx<yelseya=f(”aa”,”bb”)b=f(”bb”,”aa”)print(a,b)

A.aaaaB.aabbC.bbaaD.bbbb

11.循环队列的存储空间为Q(l:50)。经过一系列正常的入队与退队操作后,front=rear=25。然后又成功地将一个元素退队,此时队列中的元素个数为()。

A.24B.49C.26D.0

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

A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA

13.属于Python读取文件中一行内容的操作是()。

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

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

A.在try-except-else结构中,如果try块的语句引发了异常则会执行else块中的代码

B.异常处理结构中的finally块中的代码仍然有可能出错从而再次引发异常

C.一般不建议在try中放太多代码,而是应该只放入可能会引发异常的代码

D.在异常处理结构中,不论是否发生异常,finally子句中的代码总是会执行的

15.以下属于Python机器学习方向的第三方库的是()。

A.randomB.SnowNLPC.TensorflowD.loso

16.下面代码的输出结果是()。deffun(x):returnx**2+6fun(8)

A.14B.16C.无输出D.70

17.以下程序的输出结果是()。forcin’PythonNCRE’:ifc==’N’:breakprint?

A.无输出B.PythonC.PythoD.PythonCRE

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

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

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

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

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

19.在Python语言中,使用for…in方式形成的循环不能遍历的类型是()。

A.复数B.列表C.字典D.字符串

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

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

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

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

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

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

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

24.在Python中,使用for-in方式形成的循环不能遍历的类型是()。

A.复数B.列表C.字典D.字符串

25.下列关于Python运算符的使用描述正确的是()。

A.a=!b,比较a与b是否不相等

B.a=+b,等同于a=a+b

C.a==b,比较a与b是否相等

D.a//=b,等同于a=a/b

26.以下程序的输出结果是()。imgl=[12,34,56,78]img2=[1,2,3,4,5]defmodi():img1=img2print(img1)modi()print(img1)

A.[12,34,56,78][1,2,3,4,5]

B.[1,2,3,4,5][1,2,3,4,5]

C.[12,34,56,78][12,34,56,78]

D.[1,2,3,4,5][12,34,56,78]

27.设二叉树的中序序列为BCDA,前序序列为ABCD,则后序序列为()。

A.CBDAB.DCBAC.BCDAD.ACDB

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

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

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

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

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

29.以下程序的输出结果是()。foriin”miss”:forjinrange(3):print(i,end=”)ifi==”i”:break

A.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss

30.关于以下程序的描述中,正确的是()。deffact(n): s=1 foriinrange(1,n+1): s*=i returns

A.代码中n是可选参数

B.fact(n)函数功能为求n的阶乘

C.s是全局变量

D.range()函数的范围是[1,n+1]

二、判断题(10题)31.在Windows平台上编写的Python程序无法在Unix平台运行。A.是B.否

32.元组的访问速度比列表要快一些,如果定义了一系列常量值,并且主要用途仅仅是对其进行遍历二不需要进行任何修改,建议使用元组而不使用列表。

A.是B.否

33.Python集合支持双向索引。

A.是B.否

34.列表对象的append()方法属于原地操作,用于在列表尾部追加一个元素。

A.是B.否

35.Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义。

A.是B.否

36.已知x=3,那么赋值语句x='abcedfg'是无法正常执行的。

A.是B.否

37.Python字典和集合属于无序序列。

A.是B.否

38.在同一个作用域内,局部变量会隐藏同名的全局变量。

A.是B.否

39.对于Python类中的私有成员,可以通过“对象名._类名__私有成员名”的方式来访问。

A.是B.否

40.在任何时刻相同的值在内存中都只保留一份。

A.是B.否

三、填空题(10题)41.已知x='abcd',那么表达式','.join(x.split())的值为___________。

42.已知列表x中包含超过5个以上的元素,那么表达式x==x[:5]+x[5:]的值为________。

43.表达式'{0:#d},{0:#x},{0:#o}'.format(65)的值为_____________。

44.已知x为非空列表,那么执行语句y=x[:]之后,id(x[0])==id(y[0])的值为__________。

45.已知x=(3),那么表达式x*3的值为__________。

46.表达式abs(-3)的值为___________。

47.假设列表对象x=[1,1,1],那么表达式id(x[0])==id(x[2])的值为_____________。

48.表达式'abc.txt'.endswith(('.txt','.doc','.jpg'))的值为___________。

49.已知列表x=[1,2,3]和y=[4,5,6],那么表达式[(i,j)fori,jinzip(x,y)ifi==3]的值为____________。

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

四、操作题(3题)51.考生文件夹下存在一个文件“PY101.py”,请写代码替换横线,不修改其他代码,实现以下功能。用键盘输入正整数n,按要求把n输出到屏幕。

格式要求:宽度为30个字符,以@填充,右对齐,带千位分隔符。如果输入的正整数超过30位,则按照真实长度输出。例如:用键盘输入的正整数n为5201314,屏幕输出@@@@@@@@@@@@@@@5,201,314

试题程序:

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

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

n=eval(input("请输入正整数”))print("{_____}".format(n))

52.考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:

键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为25个字符,等号字符(=)填充,右对齐,带千位分隔符。如果输入正整数超过25位,则按照真实长度输出。

例如:键盘输入正整数n为1234,屏幕输出===================1,234

试题程序:

#请完善如下代码

s=input()

print(”{________(1)_________}”.format(________(2)_________))

53.考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。用键盘输入两个大于0的整数,按要求输出这两个整数之间(不包括这两个整数)的所有素数。素数又称质数,是指除了1和它本身以外不能被其他整数整除的数。试题程序:#以下代码为提示框架#请在...处使用一行或多行代码替换#请在_____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准lower=int(input(‘输入区间最小值:’))upper=int(inputs(‘输入区间最大值:’))fornuminrange(_____,_____):

参考答案

1.CCSV文件中以英文逗号分隔数据,形成一行。在进行CSV文件读写时,常用的字符串处理方法有strip()、join()、split()。strip()方法用于删除文件开头和结尾的给定字符序列,参数为空时,默认删除空白符(包括’\n’、’\r’、’\t’、'')。join()方法用于将数据以指定的字符(分隔符)连接成一个新的序列。split()方法用于将数据按某一个字符或字符串进行分割。index()方法用于检测字符串中是否包含指定子字符串,在进行CSV文件读写时,相较于前面三种方法,最不可能使用。

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

3.B单元测试主要针对模块的5个基本特征进行:模块接口测试,局部数据结构测试,重要的执行路径的检查,检查模块的错误处理能力,影响以上各点及其他相关点的边界条件测试。本题选择B选项。

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

5.B关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同的范式。满足最低要求的叫第一范式,简称1NF。在满足第一范式的基础上,进一步满足更多要求规范则是第二范式。然后在满足第二范式的基础上,还可以再满足第三范式,以此类推。\n对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式。\n若某个关系R为第一范式,并且R中每一个非主属性完全依赖于R的某个候选键,则称其为第二范式。第二范式消除了非主属性对主键的部分依赖。\n如果关系R是第二范式,并且每个非主属性都不传递依赖于R的候选键,则称R为第三范式。(传递依赖:在关系模式中,如果Y→X,X→A,且X不决定Y和A不属于X,那么Y→A是传递依赖。)\n本题中,关系S满足第一范式和第二范式,但是S#→D#,D#→Da,存在传递依赖,因此不满足第三范式。该关系的范式最高是2NF。本题选B选项。

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

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

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

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

10.Alambda关键字用来定义匿名函数。格式为:<函数名>=lambda<参数列表>:<表达式>。本题是用来比较字符串大小,因为aa>bb,所以输出均为aa。

11.B当front=\nrear时可知队列要么为空要么为满,因为又成功地将一个元素退队,说明之前队列为满(为空时队列中无元素),退出一个元素后队列中还有50-1\n=49个元素。本题选择B选项。

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

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

14.A只有try语句块中的语句正常执行,不发生中断或异常,else子句中的代码才会执行。本题选择A选项。

15.CsnowNLP和loso是自然语言处理方向的第三方库;random库用于产生各种分布的伪随机序列,是Python的标准库。本题选择C选项。

16.C向函数传入实参8,函数的作用是返回x*\n*2+6的结果,该函数是没有输出的,要想将返回值输出,需要调用print()函数。本题选择C选项。

17.A本题中,break语句出现在print语句之前,当if的条件为True时,执行break语句,跳出for循环,不再执行循环体中break后面的语句,故无输出。

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

19.Afor…in遍历结构可以是字符串、文件、rangge()函数和组合数据类型。

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

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

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

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

24.Afor-in遍历结构可以是字符串、文件、range()函数及组合数据类型。本题选择A选项。

25.C比较a与b是否不相等的运算符是!=;a+=b等同于a=a+b;a//=b等同于a=a//b。

26.D程序先调用函数modi(),函数体内进行赋值操作,列表对象的赋值就是简单的对象引用。函数体内,img1和img2是一样的,他们指向同一片内存,img1不过是img2的别名。因此,函数调用执行后输出[1,2,3,4,5]。然后执行print(img1),此处的img1是外部变量,与函数体内img1不是同一个变量,仍输出[12,34,56,78]。故正确答案为D项。

27.B二叉树的前序序列为ABCD,由于前序遍历首先访问根节点,可以确定该二叉树的根节点是A。再由中序序列为BCDA,可知以A为根节点的该二叉树只存在左子树,不存在右子树,故后序序列为DCBA。本题答案为B选项。

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

29.B外层for循环依次将字符串“miss”中的字符赋给变量i,内层for控制循环3次,注意是先执行print()再判断if条件,输出第一个“i”后,碰到if判断条件,当i==“i”时退出内层循环,所以结果为mmmissssss。本题选择B选项。

30.B函数定义时的语法如下。def<函数名>(<非可选参数列表>,<可选参数>=<默认值>):\t<函数体>return<返回值列表>可选参数一般都放置在非可选参数的后面。本题代码中,n为非可选参数,fact(n)函数的功能为求n的阶乘。s在函数内部定义,为局部变量。根据range()函数的定义,range(1,n+1)的范围是[1,n],不包含n+1。本题选择B选项。

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

32.Y

33.N

34.Y

35.Y

36.N

37.Y

38.Y

39.Y

40.N

41.'a,b,c,d'

42.True

43.'65,0x41,0o101'

44.True

45.9

46.3

47.True

48.True

49.[(3,6)]

50.3.25

51.n=eval(input(“请输入正整数:”))print(”{0:@>30,}”.format(n))该题目主要考查Python字符串的格式化方法。字符串的.format()格式化方法的语法格式为<模板字符串>.format(\r\n<逗号分隔的参数>)。题目的输出格式为右对齐、30个字符、以@填充、千位分隔符,横线处应填入0:@>30,或:@>30,。

52.s=input()\r\nprint(”{:=>25}”.format(eval(s)))该题目主要考查Python字符串的格式化方法。Python语言推荐使用.format()格式化方法,其使用方式如下:\r\n

<模板字符串>.format(<逗号分隔的参数>)\r\n

其中,模板字符串是一个由字符串和槽组成的

温馨提示

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

最新文档

评论

0/150

提交评论