1.以下不属于人工智能领域的Python第三方库是( )。
A.Keras
B.PyTorch
C.MXNet
D.PyOCR
D【解析】PyOCR是图像字符识别方向的第三方库;PyTorch、MXNet、Keras都属于人工智能领域的第三方库。
2.以下不属于数据分析领域的Python第三方库是( )。
A.Pandas
B.PyQt5
C.Numpy
D.Seaborn
B【解析】PyQt5是用户图形化界面方向的第三方库;Pandas、Numpy、Seaborn、Scipy都是数据分析方向的第三方库。
3.以下用于计算机视觉领域的Python第三方库是( )。
A.OpenCV-Python
B.Matplotlib
C.Flask
D.PyMongo
A【解析】OpenCV-Python是图像处理和计算机视觉方向的第三方库;Matplotlib是数据可视化方向的第三方库;Flask是Web开发方向的第三方库;PyMongo是数据存储方向的第三方库。故答案为A项。
4.生成一个[1, 99]之间随机整数的函数是( )。
A.random.randint(1, 100)
B.random.randint(0, 99)
C.random.randint(1,99)
D.random.uniform(1, 99)
C【解析】random.randint(a,b)随机生成[a,b](包括a、b)之间的整数;random.uniform(a,b)随机生成[a,b](包括a,不包括b)之间的实数。故答案为C项。
5.安装一个第三方库的命名格式是( )。
A.pip uninstall
B.pip install
C.pip download
D.pip search
B【解析】pip install <第三方库名>:安装第三方库;pip uninstall <第三方库名>:卸载一个已经安装的第三方库;pip download <第三方库名>:下载第三方库的安装包,但并不安装;pip search <第三方库名>:联网搜索库名或摘要中的关键字。故答案为B项。
6.下列函数中,不是Python内置函数的是( )。
A.perf_counter()
B.all()
C.abs()
D.format()
A【解析】perf_counter()是time库的函数,调用该函数需要先导入time库。
7.f=open()可以打开一个文件,关于f的描述错误的是( )。
A.f是文件对象引用,在程序中表示文件
B.f是一种特殊的Python变量,执行print(f)时会报错
C.f.read()可以一次性读入文件全部信息
D.执行m=f后,m和f同时表示所打开文件
B【解析】f=open(),f是文件对象的引用,在程序中f代表打开的文件,执行print(f)不会报错,故B项错误、A项正确;f.read()方法如果不给出参数,则从文件中读入整个文件内容,故C项正确;执行m=f后,m也是该文件对象的引用,m与f都表示该打开文件对象,故D项正确。
8.在进行CSV文件读写时,最不可能使用的字符串处理方法是( )。
A.strip()
B.join()
C.index()
D.split()
C【解析】CSV文件中以英文逗号分隔数据,形成一行。在进行CSV文件读写时,常用的字符串处理方法有strip()、join()、split()。strip()方法用于删除文件开头和结尾的给定字符序列,参数为空时,默认删除空白符(包括’\n’、’\r’、’\t’、’ ‘)。join()方法用于将数据以指定的字符(分隔符)连接成一个新的序列。split()方法用于将数据按某一个字符或字符串进行分隔。index()方法用于检测字符串中是否包含指定子字符串,在进行CSV文件读写时,相较于前面三种方法,最不可能使用。
9.二维列表 ls = [[9, 8], [7, 6], [5, 4], [3, 2], [1, 0]],能够获得数字4的选项是( )。
A.ls[-3][-1]
B.ls[3][-1]
C.ls[2][0]
D.ls[-2][0]
A【解析】本题考查列表取值。要取得数字4,首先可以通过ls[-3]或ls[2]的方式取得ls的第3个元素:[5,4],然后在取得的元素中通过[5,4][-1]或[5,4][1]的方式取得4。因此,ls[-3][-1]或ls[-3][1] 或ls[2][-1] 或ls[2][1]都可以取得数字4。故答案为A项。
10.表格类型数据的组织维度最可能是( )。
A.多维数据
B.一维数据
C.二维数据
D.高维数据
C【解析】一维数据由对等关系的有序或无序数据构成,采用线性方式组织;二维数据,也称表格数据,由关联关系数据构成,采用二维表格方式组织;高维数据由键值对类型的数据构成,采用对象方式组织。故答案为C项。
11.关于Python文件打开模式,表示错误的是( )。
A.rt
B.nb
C.ab
D.wt
B【解析】Python中open()函数提供了7种基本的文件打开模式:r、w、x、a、b、t、+。其中,r、w、x、a可以和b、t、+组合使用。故表示错误的是B项。
12.以下不是Python文件读写方法的是( )。
A.writeline
B.readline
C.read
D.write
A【解析】Python文件的读写方法有(file表示使用open函数创建的对象): file.read([size]):参数可选,若未给定参数或参数为负则读取整个文件内容;若给出参数,则读取前size长度的字符串或字节流。 file.readline([size]):参数可选,若未给定参数或参数为负则读取一行内容;若给出参数,则读取该行前size长度的字符串或字节流。 file.readlines([hint]):参数可选,若未给定参数或参数为负则从文件中读取所有行,以每行为元素形成一个列表;若给出参数,若给出参数,则从文件开始位置读取到第hint个字节所在的行为止,并以每行为元素形成一个列表。 file.write(str):将字符串或字节流写入文件。 file.writelines(lines):向文件写入一个序列字符串列表。
13.关于字典的描述,错误的是( )。
A.字典的元素以键为索引进行访问
B.字典的一个键可以对应多个值
C.字典长度是可变的
D.字典是键值对的结合,键值对之间没有顺序
B【解析】在Python中,字典是存储可变数量键值对的数据结构,通过字典类型实现映射,一个键对应一个值,键必须是唯一的,且必须是不可变数据类型,值可以是任何数据类型。字典具有和集合类似的性质,即键值对之间没有顺序且不能重复。字典可以通过“字典[‘键’]”的形式访问对应的元素,即以键为索引进行访问。故描述错误的是B项。
14.以下程序的输出结果是( )。
ls = [‘绿茶’, ‘乌龙茶’, ‘红茶’, ‘白茶’, ‘黑茶’]
x = ‘乌龙茶’
print(ls.index(x, 0))
A.-3
B.0
C.1
D.-4
C【解析】列表的index() 方法用于从列表中找出某个对象第一个匹配项的索引位置,如果这个对象不在列表中会报一个异常。 其语法为:list.index(obj[,start=0[,stop=len(L)]]),其中obj为必须参数,指要查找的对象;start为可选参数,指从哪个索引位置开始查找,默认为0;stop为可选参数,指查找到哪个索引位置结束,默认为列表的长度。本题中,查找对象为’乌龙茶’,从索引位置为0处开始查找,查找到第二个元素匹配,故返回其索引位置1。
15.以下程序被调用后,能够正确执行的是( )。
def f(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)
B【解析】函数的参数在定义时可以指定默认值,当函数被调用时,如果没有传入对应的参数值,则使用函数定义时的默认值替代。本题在定义函数时,y=1, z=2就是指定的默认值。在Python中,函数调用时,参数传递的主要方式有位置传递和关键字传递两种。位置传递是根据函数定义的参数位置来传递参数;关键字传递是根据每个参数的名字传递参数,该方式不用区分参数顺序位置,名字对了就行。关键字传递可以和位置传递混用,但混用时位置参数要出现在关键字参数之前。A项,第一个参数为关键字传递,第二个参数为位置传递,混用顺序不对;D项,第二个参数为关键字传递,第三个参数为位置传递,混用顺序不对;C项,第一个参数已经使用位置传递(将1传递给x),第二个参数又使用关键字传递将2传递给x,会出现异常报错。故答案为B项。
16.以下程序的输出结果是( )。
s=2
for i in range(1, 10):
s += i
print(s)
A.55
B.45
C.57
D.47
D【解析】range(1, 10)的返回值为1 2 3 4 5 6 7 8 9,即for循环中i的取值为1到9,则s=2+1+2+……+9=47。故答案为D项。
17.以下程序的输出结果是( )。
for c in ‘Python NCRE’:
if c == ‘N’:
break
print(c)
A.无输出
B.Python
C.Pytho
D.Python CRE
A【解析】本题中,break语句出现在print语句之前,当if的条件为True时,执行break语句,跳出for循环,不再执行循环体中break后面的语句,故无输出。
18.以下程序的输出结果是( )。
x = 10
y = 0
if (x > 5) or (x/y > 5):
print(‘Right’)
else:
print(‘Wrong’)
A.Right
B.Wrong
C.报错:ZeroDivisionError
D.不报错,但不输出任何结果
A【解析】在Python中,or表示多个条件之间的“或”关系。x or y,若x为True,则x or y的结果为True,不再对y进行判断。本题中,x > 5 为True,故(x > 5) or (x/y > 5)的结果为True,输出结果为Right。
19.对于序列s,以下选项对min(s)描述正确的是( )。
A.可以返回序列s中的最小元素,如果存在多个相同的最小元素,则返回一个列表类型
B.一定能够返回序列s中的最小元素
C.可以返回序列s中的最小元素,如果存在多个相同的最小元素,则返回一个元组类型
D.可以返回序列s中的最小元素,但要求s中元素可比较
D【解析】min()函数返回给定参数的最小值,但是要求给定参数是可以比较的。若给定的参数不能比较,则会报错;若给定参数存在多个最小元素,min()只会返回序列中最小的一个元素。故答案为D项。
20.对于序列s,能够返回序列s中第i到第j以k为步长的子序列的表达是( )。
A.s[i:j:k]
B.s[i,j,k]
C.s[i;j;k]
D.s(i, j, k)
A【解析】序列切片的方式为:<序列>[起始索引序号:结束索引序号:步长]。Python语言在[ ]中表示区间使用冒号(:)。故答案为A项。
21.以下不是Python组合数据类型的是( )。
A.元组类型
B.字符串类型
C.数组类型
D.列表类型
C【解析】能表示多个数据的类型称为组合数据类型。Python中最常用的组合数据类型有3大类,分别是集合类型、序列类型(典型代表是字符串类型和列表类型)和映射类型(典型代表是字典类型)。Python的数据类型不包括数组类型,在Python中数组类型需要通过引用第三方库如Numpy实现。故答案为C项。
22.字典d = {‘Python’:123, ‘C’:123, ‘C++’:123}, len(d)的结果是( )。
A.12
B.6
C.9
D.3
D【解析】len(d)方法返回字典d的键值对个数。字典的每个键值对用冒号(:)连接,不同键值对之间用逗号(,)隔开,整个字典包括在大括号({})中。字典d中共有3个键值对,故len(d)=3。
23.关于函数定义,以下形式错误的是( )。
A.def foo(*a, b)
B.def foo(a, b=10)
C.def foo(a, *b)
D.def foo(a, b)
A【解析】Python在定义函数的时候,不仅可以设置普通的形参,如“def fun(arr1, arr2 = ‘我是2号参数’)”(其中arr1为必传参数,arr2为可选参数),还可以传入两种特殊的参数:带*或**的参数。这两类形式的参数都可以传入任意数量的实参,它们的不同点主要在于*参数传入的为一个元组(tuple);**参数传入的则为一个字典(dict)。由于传入的参数数量不确定,因此当它们与普通参数放在一起时,必须把它们放在最后。故A项错误。
24.关于Python全局变量和局部变量,以下选项描述错误的是( )。
A.全局变量在源文件顶层,一般没有缩进
B.程序中的变量包含两类:全局变量和局部变量
C.函数内部使用各种全局变量,都要用global语句声明
D.不是在程序最开头定义的全局变量,不是全过程均有效
C【解析】根据程序中变量所在的位置和作用范围,变量分为全局变量和局部变量。局部变量指在函数内部定义的变量,仅在函数内部有效,且作用域也在函数内部,当函数退出时变量将不再存在。全局变量一般指在函数之外定义的变量,在程序执行的全过程有效。全局变量在函数内部使用时,需要提前使用保留字global声明,语法形式:global <全局变量>。使用global对全局变量声明时,该变量要与外部全局变量同名。故答案为C项。
25.以下不是函数作用的选项是( )。
A.提高代码执行速度
B.增强代码可读性
C.复用相同功能代码
D.降低编程复杂度
A【解析】函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。使用函数可以降低编程复杂度和增加代码复用,增强代码可读性。故答案为A。
26.表达式3 + 5%6*2//8的值是( )。
A.5
B.4
C.6
D.7
B【解析】根据运算符的优先级,运算顺序为:5%6=5,5*2=10,10//8=1,3+1=4。故答案为B项。
27.s = ‘1234567890’,以下表示’1234’的选项是( )。
A.s[1:5]
B.s[0:3]
C.s[-10:-5]
D.s[0:4]
D【解析】对字符串中某个子串或区间的检索称为切片。切片的使用方式如下:
<字符串或字符串变量>[N:M] 切片获取字符串从N到M(不包含M)的子字符串,其中N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。切片要求N和M都在字符串的索引区间,如果N大于等于M,则返回空字符串。如果N缺失,则默认将N设为0;如果M缺失,则默认表示到字符串结尾。题干中s[1:5]=’ 2345’, s[0:3]=’123’, s[-10:-5]=’ 12345’, s[0:4]=’1234’。
28.以下保留字不用于循环逻辑的是( )。
A.try
B.else
C.for
D.continue
A【解析】用于循环逻辑的保留字:while、for、else、break、continue。try用于捕捉异常。
29.以下不是Python语言保留字的是( )。
A.await
B.pass
C.do
D.lambda
C【解析】保留字也称关键字,指被编程语言内部定义并保留使用的标识符。Python 3.x版本的保留字有35个,分别是and,as ,assert,async,await,break,class,continue,def,del,elif,else,except,False,finally,for,from,global,if,import,in,is,lambda,None,nonlocal,not,or,pass,raise,return,True,try,with,while,yield。
30.以下不是Python语言所使用特殊含义符号的是( )。
A.$
B.**
C.&
D.+=
A【解析】在Python中,有特殊含义的符号:+、-、*、/、%、**、//、==、!=、<>、>、<、>=、<=、=、+=、-=、*=、/=、%=、**=、//=、&、|、^、~、<<、>>、&=、|=、^=、~=。故答案为A项。
31.定义学生选修课程的关系模式如下: SC (S#, Sn, C#, Cn, G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分) 则对主属性部分依赖的是( )。
A.C#→Cr
B.(S#,C#)→G
C.(S#,C#)→S#
D.(S#,C#)→C#
A【解析】关系SC的主属性为(S#、C#),但C#→Cr属于非主属性对主属性的部分依赖。
32.中学教师和授课班级之间的联系是( )。
A.一对一
B.一对多
C.多对一
D.多对多
D【解析】一位教师可以对多个班级授课,一个班级也可以由多位教师授课,因此,教师和授课班级之间的联系是多对多联系。
33.概念模型是( )。
A.用于现实世界的建模,与具体的DBMS有关
B.用于信息世界的建模,与具体的DBMS有关
C.用于现实世界的建模,与具体的DBMS无关
D.用于信息世界的建模,与具体的DBMS无关
C【解析】概念模型,着重于对客观世界复杂事物的描述及对它们内在联系的刻画,与具体的DBMS(数据库管理系统)无关。
34.下面属于应用软件的是( )。
A.安卓(Android)操作系统
B.交通管理app
C.C语言编译器
D.数据库管理系统
B【解析】计算机软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。安卓(Android)操作系统、数据库管理系统均属于系统软件,C语言编译器属于支撑软件,交通管理app属于应用软件。
35.对软件系统总体结构图描述正确的是( )。
A.深度等于控制的层数
B.扇入是一个模块直接调用的其他模块数
C.结构图是描述软件系统功能的
D.从属模块一定是原子模块
A【解析】扇入是指调用一个给定模块的模块个数,扇出是指由一个模块直接调用的其他模块个数,B项错误。从属模块是指被另一个模块调用的模块,原子模块是从属模块,但从属模块不一定是原子模块,D项错误。结构图是描述软件结构的图形工具,C项错误。
36.下面描述正确的是( )。
A.软件测试是软件调试的一部分
B.软件测试是证明软件正确的方法
C.软件测试的目的是发现程序中的错误
D.软件测试是保障软件质量的唯一方法
C【解析】软件测试的目的是发现程序中的错误。调试是作为成功测试的后果而出现的步骤,也就是说,调试是在测试发现错误之后排除错误的过程。软件调试的任务是诊断和改正程序中的错误。
37.设二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为( )。
A.BCDA
B.CBDA
C.ABCD
D.ACDB
C【解析】由于后序序列最后遍历根结点,故可确定该二叉树的根结点为A。根据前序序列首先访问根结点A,可排除A、B两项。由中序序列为BDCA,可确定该二叉树只有左子树,没有右子数,再由后序序列为DCBA,可确定左子树的根结点为B。前序序列访问完该树的根结点A后,再访问左子树的根结点B,故答案为C项。
38.树的度为3,且有9个度为3的结点,20个叶子结点,但没有度为1的结点。则该树总的结点数为( )。
A.29
B.30
C.47
D.不可能有这样的树
B【解析】设总结点数是n,则度为2的结点为n-9-20-0=n-29。根据树中的结点数=树中所有结点的度之和+1,得9×3+(n-29)×2+0×1+20×0+1=n,则n=30。
39.下列算法中,最坏情况下时间复杂度最低的是( )。
A.堆排序
B.寻找最大项
C.顺序查找
D.有序表的对分查找
D【解析】对于长度为n的有序线性表,在最坏情况下,二分法查找(对分查找)需比较log2n次。对于长度为n的线性表,最坏情况下顺序查找需要n次,寻找最大项需要n-1次,堆排序需要nlog2n次。故D项的时间复杂度最低。
40.下列叙述中正确的是( )。
A.循环链表中至少有一个结点
B.双向链表有两个头指针
C.双向链表有两个头结点
D.循环链表是循环队列的链式存储结构
A【解析】循环链表是指在单链表的第一个结点前增加一个表头结点,即空循环链表和非空循环链表中均存在表头结点,故循环链表中至少有一个结点,A项正确。循环链表是线性表的一种链式存储结构,循环队列是队列的一种顺序存储结构,D项错误。双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针(左指针和右指针),分别指向其前件结点和后件结点。双向链表中只有一个头指针且无头结点,B、C两项错误。
Loading …