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

下载本文档

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

文档简介

云南省保山市全国计算机等级考试Python语言程序设计知识点汇总(含答案)学校:________班级:________姓名:________考号:________

一、单选题(30题)1.Python中文件的打开模式不包含()。

A.'a'B.'b'C.'c'D.'+'

2.软件详细设计产生的图如下:

该图是()。

A.N-S图B.PADC.程序流程图D.E-R图

3.下面关于Python的说法正确的是()。

A.Python不支持面向对象程序设计

B.Python中使用的所有函数库,都是采用Python编写的

C.Python中的内置函数需要用关键字import来导入,而不能直接使用

D.Python中若导入了某个模块,在后面的代码中就可以使用它的所有公共函数、类和属性

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

A.print(tstr[4:7])

B.print(tstr[5:7])

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

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

5.商品销售的售货单和商品之间的联系是()。

A.多对多B.—对多C.多对一D.—对一

6.下面代码的输出结果是()。list=[“1”,”3”,”5”]defapp(x):list.append(x)app(”7”)print(list)

A.[’1’,’3’,’5’]B.[’1’,’3’,’5’,’7’]C.[’7’]D.”1,3,5,7”

7.以下不能创建一个字典的语句是()。

A.dic={}

B.dic={l:5}

C.dic={(1,2):"use"}

D.dic={[1,2]:"use"|

8.下列的说法中,不正确的是()

A.迭代器协议是指:对象必须提供一个next方法

B.list、dict、str虽然是Iterable,却不是Iterator

C.生成器与迭代器对象的区别在于:它仅提供next()方法

D.生成器实现了迭代器协议,但生成器是边计算边生成达到节省内存及计算资源

9.以下程序的输出结果是()。d={‘food’:{‘cake’:1,‘egg’:5}}print(d.get(‘egg’,‘nothisfood’))

A.eggB.1C.foodD.nothisfood

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

A.使用open()打开文件时,必须要用r或w指定打开方式,不能省略

B.采用readlineS()可以读入文件的全部内容,返回一个列表

C.文件打开后,可以用write()控制对文件内容的读写位置

D.如果没有采用close()关闭文件,Python程序退出时文件将不会自动关闭

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

12.下面关于CSV文件描述错误的是()。

A.CSV文件格式是一种通用的文件格式,应用于程序之间转移表格数据

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

C.CSV文件通过多种编码表示字符

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

13.以下属于Python中导入语句的是()。

A.classB.returnC.importD.print

14.以下关于Python列表的描述中,正确的是()。

A.列表的长度和内容都可以改变,但元素类型必须相同

B.不可以对列表进行成员运算操作、长度计算和分片

C.列表的索引是从1开始的

D.可以使用比较操作符(如>或<等)对列表进行比较

15.下面关于递归函数的描述中,错误的是()。

A.递归函数必须有一个明确的结束条件

B.递归函数就是一个函数在内部调用自身

C.递归效率不高,递归层次过多会导致栈溢出

D.每进入更深一层的递归时,问题规模相对前一次递归是不变的

16.软件按功能可以分为应用软件、系统软件及支撑软件(或工具软件)。下面属于应用软件的是()。

A.编译程序B.操作系统C.教务管理系统D.汇编程序

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

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

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

A.random.choice(k)

B.random.shuffle(k)

C.random.getrandbits(k)

D.random.sample(k)

19.以下代码执行后,book,txt文件的内容是()。fo=open(“book.txt”,”w”)Is=[‘book’,’23',’201009’,'20,]fo.write(str(Is))fo.close()

A.['book’,’23,,'201009’,’20’]

B.book,23,201009,20

C.[book,23,201009,20]

D.book2320100920

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

A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA

21.下面不属于面向对象的特点是()。

A.封装B.多态C.性能高D.继承

22.以下不属于Python保留字的是()。

A.passB.useC.withD.None

23.以下程序的输出结果是()。forsin“grandfather”: ifs==“d”ors==“h”: continue print(s,end=‘’)

A.grandfatherB.granfaterC.grandD.father

24.下列代码的结果是()A.A.numgreaterthan4B.numlessthan4C.TrueD.False

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

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

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

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

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

26.下面属于“对象”成份之一的是()。

A.封装B.规则C.属性D.继承

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

28.以下程序的输出结果是()。foriin”miss":Forjinrange(3):print(i,end=”)ifi=="i”:breakA.missmissmissB.mmmissssssC.mmmiiissssssD.mmmssssss

29.执行以下代码的结果是()A.12B.24C.36D.48

30.设str1=‘python’,语句print(str1.center(10,*))的执行结果是()。

A.python****B.**python**C.****pythonD.SyntaxError

二、判断题(10题)31.正则表达式元字符“\s”用来匹配任意空白字符。

A.是B.否

32.4j是合法Python数字类型。

A.是B.否

33.加法运算符可以用来连接字符串并生成新字符串。

A.是B.否

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

A.是B.否

35.元组可以作为字典的“键”。

A.是B.否

36.在多线程编程时,当某子线程的daemon属性为False时,主线程结束时会检测该子线程是否结束,如果该子线程尚未运行结束,则主线程会等待它完成后再退出。A.是B.否

37.Python运算符%不仅可以用来求余数,还可以用来格式化字符串。

A.是B.否

38.定义类时实现了__eq__()方法,该类对象即可支持运算符==。

A.是B.否

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

A.是B.否

40.在Python3.x中可以使用中文作为变量名。

A.是B.否

三、填空题(10题)41.表达式':'.join('1,2,3,4,5'.split(','))的值为__________________。

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

43.Python内建异常类的基类是________________。

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

45.表达式{1,2,3}|{3,4,5}的值为_____________________。

46.表达式set([1,2,2,3])=={1,2,3}的值为____________。

47.表达式3&6的值为_________。

48.已知x='abcd',那么表达式','.join(x.split())的值为___________。

49.Python程序文件扩展名主要有__________和________两种,其中后者常用于GUI程序。

50.假设math标准库已导入,那么表达式eval('math.sqrt(4)')的值为_________。

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

52.考生文件夹下存在2个Python源文件和3个文本文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能。《论语》是儒家学派的经典著作之一,主要记录了孔子及其弟子言行。这里给出了一个网络版本的《论语》,文件名称为“论语.txt”,其内容采用逐句“原文”与逐句“注释”相结合的形式组织,通过【原文】标记《论语》原文内容,通过【注释】标记《论语》注释内容,具体格式请参考“论语.txt”文件。问题1:在“PY301-1.py”文件中修改代码,提取“论语.txt”文件中的原文内容,输出保存到考生文件夹下,文件名为“论语-原文.txt”。具体要求:仅保留“论语.txt”文件中所有【原文】标签下面的内容,不保留标签,并去掉每行行首空格及行尾空格,无空行。原文圆括号及内部数字是源文件中注释内容的标记,请保留。文件输出格式请参考“论语-原文-输出示例.txt”文件。注意:输出示例仅帮助考生了解输出格式,不作它用。试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的____处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open(“论语.txt",)fo=open(“论语-原文.txt",)…Forlineinfi:…fo.write(line.lstrip())问题2:在“PY301-2.py”文件中修改代码,对“论语-原文.txt”或“论语.txt”文件进一步提纯,去掉每行文字中所有圆括号及内部数字,保存为“论语-提纯原文.txt”文件。文件输出格式请参考“论语-提纯原文-输出示例.txt”文件。注意:示例输出文件仅帮助考生了解输出格式,不做它用。试题程序:#以下代码为提示框架#请在程序的...处使用一行或多行代码替换#请在程序的处使用一行代码替换#注意:提示框架的代码可以任意修改,以完成程序功能为准fi=open("论语-原文.txt",_____)fo=open("论语-提纯原文.txt",_____)Forlineinfi:line=line.replace()

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

试题程序:

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

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

ifcount%2==0:

print(count,end=”,”)

参考答案

1.CPython中open()函数提供了\n7种基本的文件打开模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+组合使用。本题选择C选项。

2.CN-S图提出了用方框图来代替传统的程序流程图,所以A选项不对。问题分析图(Prob-lemAnalysisDiagram,\nPAD)\n是继承程序流程图和方框图之后提出的又一种主要用于描述软件详细设计的图形,所以B选项不对。E-R图是数据库中的用于表示E-R模型的图示工具,所以D选项不对。根据图中所示的表示方法可知,是进行软件详细设计时使用的程序流程图。本题选择C选项。

3.DA选项,Python是支持面向对象程序设计的;B选项,并不是所有的函数库都是采用Python编写的,很多采用C、C++、Java等语言编写的专业库可以经过简单的接口封装供Python程序调用;C选项,Python中的内置函数可以直接使用而不需要用import来导入。本题选择D选项。

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

5.A一张售货单可以有多种商品的记录,一种商品也可以出现在多张售货单上。因此售货单和商品之间的联系是多对多。本题选择A选项。

6.Bappend()是向列表元素的结尾增加元素。

7.D字典的“键”必须为不可变类型;字典的值可以是任意类型。本题选择D选项。

8.C

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

10.B使用Open()打开文件时,省略打开方式会默认以只读方式打开;文件打开后,可以用seek()控制对文件内容的读写位置,write()方法只是向文件写人一个字符串或是字节流;如果没有采用close()关闭文件,有可能会导致数据丢失。Python程序退出时文件一般会自动关闭。本题选择B选项。

11.A

12.CCSV文件采用纯文本格式,通过单一编码表示字符。以行为单位,开头不留空行,行之间没有空行。每行表示一个一维数据,多行表示多维数据。以逗号分隔每列数据,列数据为空也要保留逗号。本题选择C选项。

13.CPython中无论是标准库、第三方库还是自定义库,在使用之前都需要进行导入,方法就是使用import语句导人模块。本题选择C选项。

14.D列表是包含0个或多个元素的有序序列,属于序列类型。列表用中括号([])表示,由于列表属于序列类型,故继承了序列类型的所有属性和方法。索引是列表的基本操作,用于获得列表中的一个元素,该操作沿用序列类型的索引方式,即正向递增序号或反向递减序号,使用中括号作为索引操作符,索引号不得超过列表的元素范围,否则将产生lndexError错误。索引下标从0开始。列表可以进行元素增加、删除、替换、查找等操作。列表没有长度限制,元素类型可以不同,能够包含其他的组合数据类型,可以使用比较操作符(如>或<等)对列表进行比较,也可以对列表进行成员运算操作、长度计算和分片。故D项正确。

15.DA选项正确,递归函数必须有一个明确的结束条件作为递归的出口;B选项正是递归函数的含义,正确;C选项正确,在计算机中,函数调用是通过栈这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧,由于栈的大小不是无限的,因此,递归调用的次数过多,会导致栈溢出;D选项错误,每当进入更深一层的递归时,问题规模显然会相对前一次递归减小。本题选择D选项。

16.C编译软件、操作系统、汇编程序都属于系统软件,只有教务管理系统才是应用软件。本题选择C选项。

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

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

19.A执行fo=open('book.txt”,'w”),打开book.txt文本文件,打开模式为w(覆盖写模式);创建列表Is=\n[book’’23’,’201009’’20’];()函数返回一个对象的字符串格式,str(ls)返回Is中字符串,fo.write(Str(lS))将返回的字符串写入book,\ntxt文本文件中。本题选择A选项。

20.B解析:栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。这表明栈的运算规则是“先进后出”(或称“后进先出”)。在栈顶进行插入运算,称为进栈(或入栈),在栈顶进行删除运算,称为退栈(或出栈)。本题中,依次进栈,即依次插入元素1、2、3、4、5、A、B、C、D、E,依次出栈,即依次删除元素,根据栈“先进后出”的规则,应该以倒序出栈。即元素出栈顺序为EDCBA54321。

21.CA、B、D三个选项都是面向对象编程的特点,而C选项则是面向过程的优点,因为面向对象是类调用需要实例化,开销比较大,比较消耗资源,所以面向过程的性能会比面向对象高。

22.BPython总共有35个关键字,分别是\nand、as、assert、async、await、break、class、continue、def、del、elif、else\n、except、False、finally、for、from、global、if、import、in、is、lambda、None、nonlocal、not、or、pass、raise、re-turn、Tme、try、while、with、yield。本题选择\nB选项。

23.Bfor循环将字符串“grandfather.”中的字符依次赋给变量s,当s==“d”或s==“h”时,结束本次循环,不执行print(s,end=‘’);反之,执行print(s,end=‘’)。故输出结果为granfater。本题选择B选项。

24.A

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

26.C面向对象方法中的对象由两部分组成:①数据,也称为属性,即对象所包含的信息,表示对象的状态;②方法,也称为操作,即对象所能执行的功能、所能具有的行为。本题选C选项。

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

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

29.B

30.Dstr.center(width,fillchar)方法返回长度为width的字符串。其中str处于新字符串中心位置,两侧新增字符串采用fillchar填充,当width小于字符串长度时,返回str;fillchar是单个字符。本题中,str1.cente(10,*)中的“*”两侧没有引号,因此不是字符串类型,执行语句后会报错。本题选择D选项。

31.Y

32.Y

33.Y

34.Y

35.Y

36.Y

37.Y

38.Y

39.Y

40.Y

41.'1:2:3:4:5'

42.True

43.BaseException

44.[1,4,2,3]

45.{1,2,3,4,5}

46.True

47.2

48.'a,b,c,d'

49.py、pyw

50.2.0

51.lower=int(input(‘输入区间最小值:’))upper=int(inputs(‘输入区间最大值:’))fornuminrange(lower+1,upper):Ifnum>1:Foriin染个(2,num):If(num%i)==0:BreakElse:Print(num)题目要求输出两个整数之间(不包括这两个整数)的所有素数,因此mnge()函数的参数应为lower+1和upper。for循环遍历range(lower\r\n+l,upper)返回的每个整数num,判断该数是否为素数。如果num大于1(1既不是素数也不是合数),且该数能被取值范围为[2,num-1\r\n]的任何一个整数整除,那么该数一定不是素数,否则一定是素数。

52.fi=open(“论语.txt'”r”)fo=open(”论语-原文.txt”,”w”)Flag=falseforlin

温馨提示

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

评论

0/150

提交评论