当前位置:   article > 正文

python计算机二级考前三天冲刺(附刷题软件)_在python中,用字典来实现映射,通过整数索引来查找其中的元素

在python中,用字典来实现映射,通过整数索引来查找其中的元素

文末公众号有刷题软件

一、选择题
1、下列叙述中正确的是()

A.数据库系统减少了数据冗余

B.经规范化后的数据库系统避免了一切冗余

C.数据库系统中数据的一致性是指数据类型一致

D.数据库系统比文件系统能管理更多的数据

数据库系统的数据具有高共享性和低冗余性,但不能完全避免数据冗余;数据的一致性是指在系统中同一数据的不同出现应保持相同的值,所以选A。

2、下列关于栈的叙述中,正确的是()。

A.栈底元素一定是最后入栈的元素

B.栈顶元素一定是最先入栈的元素

C.栈操作遵循先进后出的原则

D.以上说法均错误

栈操作遵循先进后出的原则,栈底的元素最先入栈,栈顶的元素最后入栈,所以选C。

3、树的度为3,且有9个度为3的结点,5个度为1的结点,但没有度为2的结点。则该树总的结点数为()。

A.32

B.14

C.33

D.19

在树中,树中的节点数等于树中所有节点的度之和再加1。题干中树的度为3,有9个度为3的结点,5个度为1的结点,无度为2的结点,设有n个度为0的结点,则总结点数=9×3+5×1+0×2+n×0+1=33个。本题选C。

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

A.12345ABCDE

B.EDCBA54321

C.ABCDE12345

D.54321EDCBA

栈中插入元素的规则是“先进后出”或“后进先出”,所以选B。

5、属于结构化程序设计原则的是()。

A.模块化

B.可继承性

C.可封装性

D.多态性

结构化程序设计方法的原则包括:自顶向下、逐步求精、模块化、限制使用goto语句。B、C、D三项属于面向对象方法的特点。本题选A。

6、确定软件项目是否进行开发的文档是()。

A.需求分析规格说明书

B.可行性报告

C.软件开发计划

D.测试报告

可行性报告产生于软件定义阶段,用于确定软件项目是否进行开发。本题选B。

7、基本路径测试是属于()。

A.黑盒测试方法且是静态测试

B.黑盒测试方法且是动态测试

C.白盒测试方法且是动态测试

D.白盒测试方法且是静态测试

白盒测试法主要有逻辑覆盖、基本路径测试等。黑盒测试方法主要有等价类划分法、边界值分析法、错误推测法和因果图等。基本路径测试根据软件过程性描述中的控制流确定程序的环路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试用例对一条独立执行路径进行测试。因此基本路径测试属于动态测试。本题选C。

8、下面不属于软件需求规格说明书内容的是()

A.软件的可验证性

B.软件的功能需求

C.软件的性能需求

D.软件的外部接口

软件需求规格说明书内容的是软件的目标、软件的功能需求、性能需求、外部接口、属性及约束条件等,所以选A。

9、每个学校有一名校长,且不同学校的校长可以是同一人,则实体学校和实体校长间的联系是()

A.一对一

B.一对多

C.多对一

D.多对多

一个校长可以当任职多个学校,一个学校只能有一个校长。所以学校和校长是多对一,所以选

10、定义学生选修课程的关系模式如下:SC(S#,Sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分)

则对主属性部分依赖的是( )

A.(S#,C#)→G

B.S#→Sn

C.(S#,C#)→S#

D.(S#,C#)→C#

关系SC中的主键是(S#,C#),但S#(学号)单独就可以决定Sn(姓名),存在着对主属性的部分依赖。本题选B。

11、在Python语言中,可以作为源文件后缀名的是()。

A.py

B.pdf

C.pass

D.do

在Python语言中,源文件的扩展名(后缀名)一般使用.py。本题选A。

12、以下不属于Python语言保留字的是()。

A.goto

B.except

C.True

D.while

保留字,也称关键字,是指被编程语言内部定义并保留使用的标识符。Python3.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,while,with,yield。本题选A。

13、以下代码的输出结果是()。

print (0.1 + 0.2 == 0.3)

A.-1

B.True

C.False

D.0

在Python语言中,0.1+0.2=0.30000000000000004。原因是:对于十进制数,它只能表示以进制数的质因子为分母的分数。10的质因子有2和5,因此1/2、1/4、1/5、1/8和1/10都可以精确表示;相反,1/3、1/6和1/7都是循环小数,因为它们的分母使用了质因子3或者7。二进制下(进制数为2),只有一个质因子,即2,因此只能精确表示分母质因子是2的分数。二进制中,1/2、1/4和1/8都可以被精确表示,但1/5或者1/10就变成了循环小数。所以,在十进制中能够精确表示的0.1与0.2(1/10与1/5),到了计算机所使用的二进制中就变成了循环小数。当对这些循环小数进行数学运算并将二进制数据转换成人类可读的十进制数据时,会对小数尾部进行截断处理。在不同的语言中,运行0.1+0.2会输出不同的结果。本题选C。

14、每个程序都具备的统一运算模式是 ()。

A.顺序计算模式

B.函数调用模式

C.输入输出模式

D.IPO模式

IPO模式,指的是每个有用的程序都应该有输入、处理和输出三部分逻辑概念。表示对需要处理的数据,进行处理,然后输出结果。实际当中,输入并不一定是用户输入,可以是程序中给定的一个初始变量并赋值。输出也不一定输出到显示器,可以赋值给一个变量、输出到文件等等。所以本题选D。

15、以下代码的输出结果是()。

print('{:*^10.4}'.format('Flower'))

A.Flow

B.Flowe

C.***Flow***

D.Flower

输出格式符号{:*^10.4}中,*表示空格处用*补齐,^表示要显示的字符要取中,10表示显示的总长度是10个字符,.4表示字符串的最大输出长度。所以尽管变量的长度超出了4,但只有4个字符被显示出来。所以本题选C。

16、以下保留字不属于分支或循环逻辑的是()。

A.else

B.do

C.if

D.while

else和if是分支逻辑保留字, while是循环逻辑保留字,在Python中没有do保留字。

17、以下代码输出的结果是()。

chs = "|'\'-'|"

for ch in chs:

print(ch,end='')

A.|'\'-'

B.|\-|

C.|''-'|

D."|'-'|"

在字符串里的\是转义符,所以print输出的时候,\'就表示\后面的'不是字符串定义符,而是一个字符'。因此打印输出的字符串里,没有\,但是输出了'。所以本题选C。

18、下面语句中可以帮助用户快速定位到错误的语句是()。

A.try-except 语句

B.if语句

C.for循环语句

D.eval语句

try-except 语句专门用于处理在执行过程中可能出异常的语句。本题选A。

19、以下关于 python 内置函数的描述,错误的是:()。

A.sorted() 对一个序列类型数据进行排序,将排序后的结果写回到该变量中

B.type() 返回一个对象的类型

C.id() 返回一个变量的一个编号,是其在内存中的地址

D.all(ls) 返回 True,如果 ls 的每个元素都是 True

内置库函数sorted() 对一个序列类型数据进行排序,将排序后的结果返回来。正确的调用方式是ls1 = sorted(ls),对ls做排序,排序的结果赋给ls1,不改变ls的值。本题选A。

20、以下描述错误的是()。

A.Python语言是一门动态的解释型语言

B.当Python脚本程序发生了异常,如果不处理,运行结果不可预测

C.编程语言中的异常和错误是完全相同的概念

D.Python通过try、except等保留字提供异常处理功能

异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。错误是指导致系统不能按照用户意图工作的一切原因、事件。在程序设计过程中,由于某些错误的存在,致使程序无法正常运行,处理这些错误以使程序正确运行就称为错误处理。异常和错误是完全不同的概念。本题选C。

21、以下关于函数的描述,正确的是()

A.python 的函数里引用一个组合数据类型变量,就会创建一个该类型对象

B.函数的简单数据类型全局变量在函数内部使用的时候,需要在显式声明为全局变量

C.函数的全局变量是列表类型的时候,函数内部不可以直接引用该全局变量

D.如果函数内部定义了跟外部的全局变量同名的组合数据类型的变量,则函数内部引用的变量不确定

函数的全局变量是列表类型的时候,函数内部可以直接引用该全局变量。如果函数内部创建跟外部的全局变量同名的组合数据类型的变量,则函数内部引用的就是这个局部变量。 python 的函数里如果没有创建同名变量,则可以直接引用和修改同名的全局变量。所以本题选B。

22、函数中定义了3个参数,其中2个参数都指定了默认值,调用函数时参数个数最少是()。

A.0

B.2

C.1

D.3

函数定义时的语法如下: def<函数名>(<非可选参数列表>,<可选参数>=<默认值>): <函数体> return <返回值列表> 可选参数一般都放置在非可选参数的后面。题目中:函数中定义了3个参数,其中2个参数都指定了默认值,那么调用函数时参数个数最少是1个。本题选C。

23、s = python,能够输出python的选项是()。

A.print(s[-1:0])

B.print(s[:5])

C.print(s[:])

D.print(s[0:-1])

本题考察的是字符串切片,s[起始位置:终止位置],当没有填写起始位置时,默认是从头开始切, 当没有填写终止位置时,默认是切到最后,所以本题选C。

24、关于以下代码的描述中,正确的是()。

def func(a,b):

c=a**2+b

b=a

return c

a= 10

b=2

c=func(b,a)+a

A.执行该函数后,变量c的值为112

B.该函数名称为fun

C.执行该函数后,变量b的值为2

D.执行该函数后,量b的值为10

程序中,将实参b的值传给形参a,将实参a的值传给形参b,则在函数体中c=2**2+10=14,函数返回14,则实参c=14+10=24;形参a和b在函数结束后会自动释放,并没有影响到实参a和b的值,故实参a仍然是10,实参b仍然是2。本题选C。

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

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

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

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

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

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

26、以下代码运行的结果是()。

def calu(x = 3, y = 2, z = 10):

return(x ** y * z)

h = 2

w = 3

print(calu(h,w))

A.80

B.60

C.70

D.90

本题考查的是函数参数的传递,h和w分别传递给了x和y参数。所以返回的结果是2**3*10=80.所以本题选A。

27、以下关于组合数据类型的描述,错误的是()。

A.集合类型是一种具体的数据类型

B.字典类型的键可以用的数据类型包括字符串,元组以及列表

C.序列类型和映射类型都是一类数据类型的总称

D.python 的集合类型跟数学中的集合概念一致,都是多个数据项的无序组合

本题考查的是组合数据类型的基本概念,字典的键必须是不可变数据类型。列表是可变的数据类型,所以本题选B。

28、以下关于Python字典的描述中,错误的是()。

A.在Python中,用字典来实现映射,通过整数索引来查找其中的元素

B.在定义字典对象时,键和值用冒号连接

C.字典中的键值对之间没有顺序并且不能重复

D.字典中引用与特定键对应的值,用字典名称和中括号中包含键名的格式

在Python中,字典是存储可变数量键值对的数据结构,通过字典类型实现映射。字典使用大括号{}建立,每个元素是一个键值对,使用方式:{<键1>:<值1>,<键2>:<值2>,...,<键n>:<值n>},其中,键和值通过冒号连接,不同键值对通过逗号隔开。字典具有和集合类似的性质,即键值对之间没有顺序且不能重复。通过键可以索引值,并可以通过键修改值,因此可以直接利用键值对关系索引元素。索引模式:<值>=<字典变量>[<键>]。本题选A。

29、以下程序输出的结果是()。

import time

t = time.gmtime()

print(time.strftime("%Y-%m-%d %H:%M:%S",t))

A.系统出错

B.系统当前的时间

C.系统当前的日期

D.系统当前的日期与时间

本题考查的是time库,gmtime函数可以获得系统当前的时间对象。通过strftime函数格式化输出日期和时间,所以本题选D。

30、以下代码不可能输出的结果()。

from random import *

print(round(random(),2))

A.0.12

B.1.31

C.0.01

D.0.66

本题考查的是round库,round()函数产生的随机数范围在[0,1),不可能输出1.31,所以本题选B。

31、以下关于字典操作描述,错误的是()。

A.del 用于删除字典或者元素

B.keys 方法可以获取字典的值视图

C.len 方法可以计算字典中键值对的个数

D.clear 用于清空字典中的数据

本题考查的是对字典的认识,del可以根据键去删除对应的值,keys方法可以获取字典的键视图,clear可以清空字典数据,len方法可以计算字典元素个数,所以本题选B。

32、以下代码的输出结果是()。

str1 = "Nanjing University"

str2 = str1[:7] + " Normal " + str1[-10:]

print(str2)

A.Nanjing Normal

B.Nanjing Normal University

C.Normal U

D.Normal University

本题考查字符串的切片和拼接,str[:7]的结果为Nanjing,str1[-10:]的结果为University,所以本题选B。

33、以下关于Python文件打开模式的描述中,错误的是()。

A.只读模式r

B.覆盖写模式w

C.追加写模式a

D.创建写模式n

文件打开模式有: r:只读模式,如果文件不存在,返回异常FileNotFoundError,默认值。 x:创建写模式,文件不存在则创建,存在则返回异常FileExistsErroro。 w:覆盖写模式,文件不存在则创建,存在则完全覆盖原文件。 a:追加写模式,文件不存在则创建,存在则在原文件最后追加内容。文件打开模式中没有n,故D项错误。

34、以下选项中,不是Python语言基本控制结构的是()。

A.选择结构

B.循环结构

C.顺序结构

D.跳转结构

程序的控制结构分为顺序、选择、循环。所以本题选D。

35、以下代码输出结果正确的是()。

a = [5,1,3,4]

print(sorted(a,reverse = True))

A.[1, 3, 4, 5]

B.[4, 3, 1, 5]

C.[5, 4, 3, 1]

D.[5, 1, 3, 4]

sorted函数对列表元素排序,默认从从左到右,reverse=True参数可以让列表倒序排列,所以本题选C。

36、关于random.uniform(a,b)的作用描述,以下选项中正确的是()。

A.生成一个[a, b]之间的随机整数

B.生成一个(a, b)之间的随机数

C.生成一个[a, b]之间的随机小数

D.生成一个均值为a,方差为b的正态分布

本题考察的是random库函数的使用,uniform(a,b)函数可以可以生成[a,b]之间的小数,所以本题选C。

37、在Python语言中,将二维数据写入CSV文件,最可能使用的函数是()。

A.write()

B.split()

C.join()

D.exists()

在Python语言中,二维列表对象输出为CSV格式文件采用遍历循环和字符串的join()方法相结合的方法。方法如下: #ls代表二维列表,此处省略 f=open("python.csv","w") for row in ls: f.write(",".join(row)+"n") f.close() 本题选C。

38、以下不属于Python数据分析领域第三方库的是()。

A.scrapy

B.numpy

C.pandas

D.matplotlib

在Python语言中,用于数据分析的第三方库有numpy、scipy、pandas和matplotlib。scrapy库是网络爬虫方向的第三方库。本题选A。

39、在Python语言中,用来安装第三方库的工具是()。

A.install

B.pip

C.PyQt5

D.pyinstaller

在Python语言中,使用pip工具来安装和管理Python第三方库,pip属于Python的一部分。本题选B。

40、以下属于Python机器学习领域第三方库的是()。

A.turtle

B.numpy

C.pygame

D.mxnet

1、下列叙述中正确的是()

A.数据库系统减少了数据冗余

B.经规范化后的数据库系统避免了一切冗余

C.数据库系统中数据的一致性是指数据类型一致

D.数据库系统比文件系统能管理更多的数据

数据库系统的数据具有高共享性和低冗余性,但不能完全避免数据冗余;数据的一致性是指在系统中同一数据的不同出现应保持相同的值,所以选A。

2、下列关于栈的叙述中,正确的是()。

A.栈底元素一定是最后入栈的元素

B.栈顶元素一定是最先入栈的元素

C.栈操作遵循先进后出的原则

D.以上说法均错误

栈操作遵循先进后出的原则,栈底的元素最先入栈,栈顶的元素最后入栈,所以选C。

3、树的度为3,且有9个度为3的结点,5个度为1的结点,但没有度为2的结点。则该树总的结点数为()。

A.32

B.14

C.33

D.19

在树中,树中的节点数等于树中所有节点的度之和再加1。题干中树的度为3,有9个度为3的结点,5个度为1的结点,无度为2的结点,设有n个度为0的结点,则总结点数=9×3+5×1+0×2+n×0+1=33个。本题选C。

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

A.12345ABCDE

B.EDCBA54321

C.ABCDE12345

D.54321EDCBA

栈中插入元素的规则是“先进后出”或“后进先出”,所以选B。

5、属于结构化程序设计原则的是()。

A.模块化

B.可继承性

C.可封装性

D.多态性

结构化程序设计方法的原则包括:自顶向下、逐步求精、模块化、限制使用goto语句。B、C、D三项属于面向对象方法的特点。本题选A。

6、确定软件项目是否进行开发的文档是()。

A.需求分析规格说明书

B.可行性报告

C.软件开发计划

D.测试报告

可行性报告产生于软件定义阶段,用于确定软件项目是否进行开发。本题选B。

7、基本路径测试是属于()。

A.黑盒测试方法且是静态测试

B.黑盒测试方法且是动态测试

C.白盒测试方法且是动态测试

D.白盒测试方法且是静态测试

白盒测试法主要有逻辑覆盖、基本路径测试等。黑盒测试方法主要有等价类划分法、边界值分析法、错误推测法和因果图等。基本路径测试根据软件过程性描述中的控制流确定程序的环路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试用例对一条独立执行路径进行测试。因此基本路径测试属于动态测试。本题选C。

8、下面不属于软件需求规格说明书内容的是()

A.软件的可验证性

B.软件的功能需求

C.软件的性能需求

D.软件的外部接口

软件需求规格说明书内容的是软件的目标、软件的功能需求、性能需求、外部接口、属性及约束条件等,所以选A。

9、每个学校有一名校长,且不同学校的校长可以是同一人,则实体学校和实体校长间的联系是()

A.一对一

B.一对多

C.多对一

D.多对多

一个校长可以当任职多个学校,一个学校只能有一个校长。所以学校和校长是多对一,所以选

10、定义学生选修课程的关系模式如下:SC(S#,Sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分)

则对主属性部分依赖的是( )

A.(S#,C#)→G

B.S#→Sn

C.(S#,C#)→S#

D.(S#,C#)→C#

关系SC中的主键是(S#,C#),但S#(学号)单独就可以决定Sn(姓名),存在着对主属性的部分依赖。本题选B。

11、在Python语言中,可以作为源文件后缀名的是()。

A.py

B.pdf

C.pass

D.do

在Python语言中,源文件的扩展名(后缀名)一般使用.py。本题选A。

12、以下不属于Python语言保留字的是()。

A.goto

B.except

C.True

D.while

保留字,也称关键字,是指被编程语言内部定义并保留使用的标识符。Python3.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,while,with,yield。本题选A。

13、以下代码的输出结果是()。

print (0.1 + 0.2 == 0.3)

A.-1

B.True

C.False

D.0

在Python语言中,0.1+0.2=0.30000000000000004。原因是:对于十进制数,它只能表示以进制数的质因子为分母的分数。10的质因子有2和5,因此1/2、1/4、1/5、1/8和1/10都可以精确表示;相反,1/3、1/6和1/7都是循环小数,因为它们的分母使用了质因子3或者7。二进制下(进制数为2),只有一个质因子,即2,因此只能精确表示分母质因子是2的分数。二进制中,1/2、1/4和1/8都可以被精确表示,但1/5或者1/10就变成了循环小数。所以,在十进制中能够精确表示的0.1与0.2(1/10与1/5),到了计算机所使用的二进制中就变成了循环小数。当对这些循环小数进行数学运算并将二进制数据转换成人类可读的十进制数据时,会对小数尾部进行截断处理。在不同的语言中,运行0.1+0.2会输出不同的结果。本题选C。

14、每个程序都具备的统一运算模式是 ()。

A.顺序计算模式

B.函数调用模式

C.输入输出模式

D.IPO模式

IPO模式,指的是每个有用的程序都应该有输入、处理和输出三部分逻辑概念。表示对需要处理的数据,进行处理,然后输出结果。实际当中,输入并不一定是用户输入,可以是程序中给定的一个初始变量并赋值。输出也不一定输出到显示器,可以赋值给一个变量、输出到文件等等。所以本题选D。

15、以下代码的输出结果是()。

print('{:*^10.4}'.format('Flower'))

A.Flow

B.Flowe

C.***Flow***

D.Flower

输出格式符号{:*^10.4}中,*表示空格处用*补齐,^表示要显示的字符要取中,10表示显示的总长度是10个字符,.4表示字符串的最大输出长度。所以尽管变量的长度超出了4,但只有4个字符被显示出来。所以本题选C。

16、以下保留字不属于分支或循环逻辑的是()。

A.else

B.do

C.if

D.while

else和if是分支逻辑保留字, while是循环逻辑保留字,在Python中没有do保留字。

17、以下代码输出的结果是()。

chs = "|'\'-'|"

for ch in chs:

print(ch,end='')

A.|'\'-'

B.|\-|

C.|''-'|

D."|'-'|"

在字符串里的\是转义符,所以print输出的时候,\'就表示\后面的'不是字符串定义符,而是一个字符'。因此打印输出的字符串里,没有\,但是输出了'。所以本题选C。

18、下面语句中可以帮助用户快速定位到错误的语句是()。

A.try-except 语句

B.if语句

C.for循环语句

D.eval语句

try-except 语句专门用于处理在执行过程中可能出异常的语句。本题选A。

19、以下关于 python 内置函数的描述,错误的是:()。

A.sorted() 对一个序列类型数据进行排序,将排序后的结果写回到该变量中

B.type() 返回一个对象的类型

C.id() 返回一个变量的一个编号,是其在内存中的地址

D.all(ls) 返回 True,如果 ls 的每个元素都是 True

内置库函数sorted() 对一个序列类型数据进行排序,将排序后的结果返回来。正确的调用方式是ls1 = sorted(ls),对ls做排序,排序的结果赋给ls1,不改变ls的值。本题选A。

20、以下描述错误的是()。

A.Python语言是一门动态的解释型语言

B.当Python脚本程序发生了异常,如果不处理,运行结果不可预测

C.编程语言中的异常和错误是完全相同的概念

D.Python通过try、except等保留字提供异常处理功能

异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。错误是指导致系统不能按照用户意图工作的一切原因、事件。在程序设计过程中,由于某些错误的存在,致使程序无法正常运行,处理这些错误以使程序正确运行就称为错误处理。异常和错误是完全不同的概念。本题选C。

21、以下关于函数的描述,正确的是()

A.python 的函数里引用一个组合数据类型变量,就会创建一个该类型对象

B.函数的简单数据类型全局变量在函数内部使用的时候,需要在显式声明为全局变量

C.函数的全局变量是列表类型的时候,函数内部不可以直接引用该全局变量

D.如果函数内部定义了跟外部的全局变量同名的组合数据类型的变量,则函数内部引用的变量不确定

函数的全局变量是列表类型的时候,函数内部可以直接引用该全局变量。如果函数内部创建跟外部的全局变量同名的组合数据类型的变量,则函数内部引用的就是这个局部变量。 python 的函数里如果没有创建同名变量,则可以直接引用和修改同名的全局变量。所以本题选B。

22、函数中定义了3个参数,其中2个参数都指定了默认值,调用函数时参数个数最少是()。

A.0

B.2

C.1

D.3

函数定义时的语法如下: def<函数名>(<非可选参数列表>,<可选参数>=<默认值>): <函数体> return <返回值列表> 可选参数一般都放置在非可选参数的后面。题目中:函数中定义了3个参数,其中2个参数都指定了默认值,那么调用函数时参数个数最少是1个。本题选C。

23、s = python,能够输出python的选项是()。

A.print(s[-1:0])

B.print(s[:5])

C.print(s[:])

D.print(s[0:-1])

本题考察的是字符串切片,s[起始位置:终止位置],当没有填写起始位置时,默认是从头开始切, 当没有填写终止位置时,默认是切到最后,所以本题选C。

24、关于以下代码的描述中,正确的是()。

def func(a,b):

c=a**2+b

b=a

return c

a= 10

b=2

c=func(b,a)+a

A.执行该函数后,变量c的值为112

B.该函数名称为fun

C.执行该函数后,变量b的值为2

D.执行该函数后,量b的值为10

程序中,将实参b的值传给形参a,将实参a的值传给形参b,则在函数体中c=2**2+10=14,函数返回14,则实参c=14+10=24;形参a和b在函数结束后会自动释放,并没有影响到实参a和b的值,故实参a仍然是10,实参b仍然是2。本题选C。

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

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

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

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

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

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

26、以下代码运行的结果是()。

def calu(x = 3, y = 2, z = 10):

return(x ** y * z)

h = 2

w = 3

print(calu(h,w))

A.80

B.60

C.70

D.90

本题考查的是函数参数的传递,h和w分别传递给了x和y参数。所以返回的结果是2**3*10=80.所以本题选A。

27、以下关于组合数据类型的描述,错误的是()。

A.集合类型是一种具体的数据类型

B.字典类型的键可以用的数据类型包括字符串,元组以及列表

C.序列类型和映射类型都是一类数据类型的总称

D.python 的集合类型跟数学中的集合概念一致,都是多个数据项的无序组合

本题考查的是组合数据类型的基本概念,字典的键必须是不可变数据类型。列表是可变的数据类型,所以本题选B。

28、以下关于Python字典的描述中,错误的是()。

A.在Python中,用字典来实现映射,通过整数索引来查找其中的元素

B.在定义字典对象时,键和值用冒号连接

C.字典中的键值对之间没有顺序并且不能重复

D.字典中引用与特定键对应的值,用字典名称和中括号中包含键名的格式

在Python中,字典是存储可变数量键值对的数据结构,通过字典类型实现映射。字典使用大括号{}建立,每个元素是一个键值对,使用方式:{<键1>:<值1>,<键2>:<值2>,...,<键n>:<值n>},其中,键和值通过冒号连接,不同键值对通过逗号隔开。字典具有和集合类似的性质,即键值对之间没有顺序且不能重复。通过键可以索引值,并可以通过键修改值,因此可以直接利用键值对关系索引元素。索引模式:<值>=<字典变量>[<键>]。本题选A。

29、以下程序输出的结果是()。

import time

t = time.gmtime()

print(time.strftime("%Y-%m-%d %H:%M:%S",t))

A.系统出错

B.系统当前的时间

C.系统当前的日期

D.系统当前的日期与时间

本题考查的是time库,gmtime函数可以获得系统当前的时间对象。通过strftime函数格式化输出日期和时间,所以本题选D。

30、以下代码不可能输出的结果()。

from random import *

print(round(random(),2))

A.0.12

B.1.31

C.0.01

D.0.66

本题考查的是round库,round()函数产生的随机数范围在[0,1),不可能输出1.31,所以本题选B。

31、以下关于字典操作描述,错误的是()。

A.del 用于删除字典或者元素

B.keys 方法可以获取字典的值视图

C.len 方法可以计算字典中键值对的个数

D.clear 用于清空字典中的数据

本题考查的是对字典的认识,del可以根据键去删除对应的值,keys方法可以获取字典的键视图,clear可以清空字典数据,len方法可以计算字典元素个数,所以本题选B。

32、以下代码的输出结果是()。

str1 = "Nanjing University"

str2 = str1[:7] + " Normal " + str1[-10:]

print(str2)

A.Nanjing Normal

B.Nanjing Normal University

C.Normal U

D.Normal University

本题考查字符串的切片和拼接,str[:7]的结果为Nanjing,str1[-10:]的结果为University,所以本题选B。

33、以下关于Python文件打开模式的描述中,错误的是()。

A.只读模式r

B.覆盖写模式w

C.追加写模式a

D.创建写模式n

文件打开模式有: r:只读模式,如果文件不存在,返回异常FileNotFoundError,默认值。 x:创建写模式,文件不存在则创建,存在则返回异常FileExistsErroro。 w:覆盖写模式,文件不存在则创建,存在则完全覆盖原文件。 a:追加写模式,文件不存在则创建,存在则在原文件最后追加内容。文件打开模式中没有n,故D项错误。

34、以下选项中,不是Python语言基本控制结构的是()。

A.选择结构

B.循环结构

C.顺序结构

D.跳转结构

程序的控制结构分为顺序、选择、循环。所以本题选D。

35、以下代码输出结果正确的是()。

a = [5,1,3,4]

print(sorted(a,reverse = True))

A.[1, 3, 4, 5]

B.[4, 3, 1, 5]

C.[5, 4, 3, 1]

D.[5, 1, 3, 4]

sorted函数对列表元素排序,默认从从左到右,reverse=True参数可以让列表倒序排列,所以本题选C。

36、关于random.uniform(a,b)的作用描述,以下选项中正确的是()。

A.生成一个[a, b]之间的随机整数

B.生成一个(a, b)之间的随机数

C.生成一个[a, b]之间的随机小数

D.生成一个均值为a,方差为b的正态分布

本题考察的是random库函数的使用,uniform(a,b)函数可以可以生成[a,b]之间的小数,所以本题选C。

37、在Python语言中,将二维数据写入CSV文件,最可能使用的函数是()。

A.write()

B.split()

C.join()

D.exists()

在Python语言中,二维列表对象输出为CSV格式文件采用遍历循环和字符串的join()方法相结合的方法。方法如下: #ls代表二维列表,此处省略 f=open("python.csv","w") for row in ls: f.write(",".join(row)+"n") f.close() 本题选C。

38、以下不属于Python数据分析领域第三方库的是()。

A.scrapy

B.numpy

C.pandas

D.matplotlib

在Python语言中,用于数据分析的第三方库有numpy、scipy、pandas和matplotlib。scrapy库是网络爬虫方向的第三方库。本题选A。

39、在Python语言中,用来安装第三方库的工具是()。

A.install

B.pip

C.PyQt5

D.pyinstaller

在Python语言中,使用pip工具来安装和管理Python第三方库,pip属于Python的一部分。本题选B。

40、以下属于Python机器学习领域第三方库的是()。

A.turtle

B.numpy

C.pygame

D.mxnet

在Python语言中,turtle库是Python重要的标准库之一,用于基本的图形绘制;numpy库属于数据分析领域;pygame库属于游戏开发领域,都不属于机器学习领域的第三方库,所以本题选D。

1、下列叙述中正确的是()。

A.解决一个问题可以有不同的算法,且它们的时间复杂度可以是不同的

B.算法的时间复杂度和计算机系统有关

C.解决一个问题的算法是唯一的

D.解决一个问题可以有不同的算法,但它们的时间复杂度必定是相同的

解析:算法的时间复杂度是指执行算法所需要的计算工作量,而计算工作量是用算法所执行的基本运算次数来度量的。解决同-一个问题的不同算法的时间复杂度,可能相同也可能不相同。算法的时间复杂度与数据存储结构无关,对同一批数据作同一种处理或者不同处理,数据存储结构相同或者不同,算法的时间复杂度都可能相同或者不同,所以选A。

2、持子程序调用的数据结构是()。

A.栈

B.树

C.队列

D.二叉树

解析:栈,栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要保存主程序的当前状态,符合栈的特性,所以选A。

3、某二叉树中有15个度为1的结点,16个度为2的结点,则该二叉树中总的结点数为()。

A.32

B.46

C.48

D.49

解析:在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。由16个度为2的结点可知叶子结点个数为17,则结点结点总数为16+17+15=48,所以选C。

4、下列叙述中错误的是()。

A.线性结构也能采用链式存储结构

B.线性结构一定能采用顺序存储结构

C.有的非线性结构也能采用顺序存储结构

D.非线性结构一定不能采用顺序存储结构

解析:满二叉树与完全二叉树均为非线性结构,但可以按照层次进行顺序存储。本题选择D选项。

5、软件的三要素是()

A.程序、数据及相关文档

B.程序、数据和配置

C.程序、数据和工具

D.程序、数据和运行环境

解析:软件的三要素是程序、数据及相关文档,所以选A。

6、一个模块直接调用的下层模块的数目称为模块的()。

A.扇入数

B.扇出数

C.宽度

D.作用域

解析:扇入数指调用一个给定模块的模块个数。扇出数是指由一个模块直接调用的其他模块数,即一个模块直接调用的下层模块的数目。本题选择B选项。

7、将E-R图转换为关系模式时,实体和联系都可以表示为()。

A.属性

B.键

C.关系

D.域

解析:实体与联系可以表示成关系,关系可以表示成二维表,所以选C。

8、采用表结构来表示数据及数据间联系的模型是()。

A.层次模型

B.概念模型

C.网状模型

D.关系模型

解析:关系模型采用二维表来表示,简称表。本题选择D选项。

9、在供应关系中,实体供应商和实体零件之间的联系是()。

A.多对多

B.一对一

C.多对一

D.一对多

解析:一家供应商可提供多种零件,一种零件也可被多家供应商提供。所以实体供应商和实体零件之间的联系是多对多。本题选择A选项。

10、将实体-联系模型转换为关系模型时,实体之间多对多联系在关系模型中的实现方式是()。

A.建立新的关系

B.建立新的属性

C.增加新的关键字

D.建立新的实体

解析:①一个实体型转换为一个关系模型,实体的属性就是关系的属性,实体的键就是关系的键。②一个联系转换为一个关系模式,与该联系相连的每个实体型的键以及联系的属性都转换为关系的属性。这个关系的键分为以下三种不同的情况:若联系为1:1,则相连的每个实体型的键均是该关系模式的候选键;若联系为1:n,则联系对应的关系模式的键取n端实体型的键;若联系为m:n,则联系对应的关系模式的键为参加联系的诸实体型的键的组合,所以选A。

11、以下不属于程序语言设计语言类别的是()。

A.解释语言

B.汇编语言

C.机器语言

D.高级语言

解析:程序设计语言分为三类机器语言、汇编语言、高级语言。所以本题选A。

12、以下关于程序控制结构错误()。

A.Python 里,能用分支结构写出循环的算法

B.二分支结构可以嵌套组合形成多分支结构

C.分支结构包括单分支结构、二分支结构和多分支结构

D.程序由三种基本结构组成

解析:程序是由三种基本结构组成,顺序、选择、循环。分支结构无法表示循环的算法,所以本题选A。

13、Python语言提供三种基本的数字类型,它们是()。

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

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

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

D.二进制类型、浮点类型、复数类型

解析:Python提供了三种数据类型,分别为整数类型、浮点数类型、复数类型。本题选B.

14、下列不属于Python合法的标识符的是()。

A.python$base

B.int32

C._selfname

D.stu520

解析:Python中标识符可以使用字母、数字、下划线,不能出现特殊字符。本题选A。

15、Python中定义函数的关键字是()。

A.class

B.def

C.function

D.defun

解析:Python中定义函数的关键字是def。本题选B。

16、下列关于列表的说法正确的是()。

A.列表的索引序号是从1开始的,以此类推

B.使用append()函数可以向列表的指定位置插入元素

C.列表中的值可以是任何数据类型,被称为元素或项

D.使用remove()函数可以从列表中删除元素,但必须知道元素在列表中的位置

解析:列表的序号是从0开始的,append函数是向列表末尾插入元素,remove函数可直接删除参数元素,不需要知道所在位置。所以本题选C。

17、当键盘输入3的时候,下面输入正确的是()。

r = input("请输入半径:")

c = 3.1415 * r *2

print("{:.0f}".format(c))

A.Type Error

B.18

C.18.849

D.19

解析:input()函数返回的是字符串类型,当用户输入的是数字的时候,需要用eval()或者float()或者int()转换成数值类型,才能参加运算。本题选A。

18、以下代码的输出结果是()。

a=7

b=2

print(a%b)

A.3

B.3.0

C.1

D.1.0

解析:%是取余运算,计算结果为1。所以本题选C。

19、Python语言中用来表示代码块所属关系的语法是()。

A.缩进

B.括号

C.中括号

D.冒号

解析:Python中利用缩进表示代码所属关系。本题选A。

20、列表变量lis共包含10个元素,lis索引的取值范围是()。

A.(0,10)

B.(0,9)

C.[0,10]

D.[0,9]

解析:A和B表示元组,列表的元素从0开始,一共十位,所以本题选D。

21、下面代码的输出结果是()。

for i in "python is best language ":

if i==’n’:

break

print(i)

A.python is best language

B.python

C.pytho

D.’’

解析:当i==’n’的时候跳出循环,所以n没有被打印出来,所以本题选C。

22、下面代码的输出结果是()。

x=10

while x:

x-=1

if x%2:

print(x,end='')

else:

pass

A.86420

B.975311

C.97531

D.864200

解析:while条件为真时进入循环体,执行循环体中的内容。如果x的值为偶数则if条件为假,不执行任何操作,为奇数则if条件为真,输出该奇数;进入下一次循环,判断while条件,判断是否进入循环体,执行循环体中的代码。后面的操作类似,直到while条件不满足。经过一系列的运算,输出结果为: 97531。所以本题选C。

23、下面代码的输出结果是()。

for i in range(3):

for s in "abcd":

if s=="c":

break

print (s,end="")

A.ababab

B.abcabcabc

C.aaabbb

D.aaabbbccc

解析:外层循环一共循环三次,每一次执行一次内层循环,内层循环循环输出每个元素,当s==’c’跳出循环,c不会被打印出来。本题选A。

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

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

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

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

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

解析:异常和错误是两个不同的概念。本题选B。

25、下面代码的输出结果是()。

ab = 4

def my_ab(ab, xy)

ab= pow(ab,xy)

print(ab,end=" ")

my_ab(ab,2)

print( ab)

A.16 4

B.16 16

C.4 4

D.4 16

解析:本题考查了函数定义与调用,ab和xy得到的参数分别为4和2,函数内部打印的是局部变量ab,外面打印的是全局变量ab。所以本题选A。

26、S和T是两个集合,对S&T的描述正确的是()。

A.S和T的交运算,包含S和T中共有的元素

B.S和T的并运算,包括在集合S和T中的所有元素

C.S和T的差运算,包括在集合S但不在T中的元素

D.S和T的补运算,包括几个S和T中的非相同元素

解析:S&T返回了一个新的集合,表示交集,包含S和T中共有的元素,所以本题选A。

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

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

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

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

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

解析:文件对象的seek方法用来移动指针的位置。所以本题选C。

28、关于Python元组类型,以下选项中描述错误的是()。

A.元组不可以被修改

B.Python中元组使用圆括号和逗号表示

C.元组中的元素要求是相同类型

D.一个元组可以作为另一个元组的元素,可以采用多级索引获取信息

解析:元组与列表相似,可以存储不同类型的数据,元组是不可以修改的,创建后不能在更改元素。所以本题选C。

29、以下关于文件描述错误的是()。

A.open 函数的参数处理模式 ’ b ’ 表示以二进制数据处理文件

B.open 函数的参数处理模式 ’ + ’ 表示可以对文件进行读和写操作

C.readline 函数表示读取文件的下一行,返回一个字符串

D.open 函数的参数处理模式 ’ a ’ 表示追加方式打开文件,删除已有内容

解析:a的打开方式并不会删除掉原文件内容。所以本题选D。

30、在Python的类定义中,对函数变量的访问形式为()。

d = {"zhang":"China", "Jone":"America", "Natan":"Japan"}

for k in d:

print(k, end="")

A.zhang:China Jone:America Natan:Japan

B.ChinaAmericaJapan

C.“zhang””Jone””Natan”

D.zhangJoneNatan

解析:字典的遍历默认是对键的遍历,print输出以空字符结尾,所以本题选D。

31、下面关于组合数据类型描述错误的是 ()。

A.可以用大括号创建字典,用中括号增加新元素

B.字典的 pop 函数可以返回一个键对应的值,并删除该键值对

C.空字典和空集合都可以用大括号来创建

D.嵌套的字典数据类型可以用来表达高维数据

解析:字典可以用大括号来创建,集合只能用set()函数来创建。嵌套字典可以实现高维数据。所以本题选C。

32、不属于Python机器学习第三方库的是()。

A.Pylons

B.tensorflow

C.keras

D.mxnet

解析:keras、tensorflow、mxnet是机器学习的第三方库。本题选A。

33、、下面哪一种导入方式是错误的?()

A.import numpy

B.import ndarray from numpy

C.from numpy import *

D.import numpy as np

解析:B的写法错误,应该是from numpy import ndarray。所以本题选B。

34、以下属于 Python HTML 和 XML 解析的第三方库的是()。

A.Requests

B.Networkx

C.Beautiful Soup

D.Django

解析:Beautiful Soup库是用于解析XML的第三方库。所以所以本题选C。

35、下面代码的输出结果是()。

for in range(0,10,2):

print(i,end=" ")

A.0 2 4 6 8

B.2 4 6 8

C.0 2 4 6 8 10

D.2 4 6 8 10

解析:range(start,end,step)表示一个从start开始,到end结束,步长为step的区间,本题遍历的到0 2 4 6 8。所以本题选A。

36、下面代码输出结果是()。

x = ['90','87','90']

n = 90

print(x.count(n))

A.2

B.1

C.None

D.0

解析:本题考查count函数用法,x.count(n)返回n在x中出现的次数。所以本题选D。

37、以下程序输出到test.txt的结果是()。

fo = open("text.txt",'w')

x = [90,87,93]

fo. write(",".join(str(x)))

fo.close()

A.[90,87,93]

B.,9,0,,, ,8,7,,, ,9,3,

C.90,87,93

D.[,9,0,,, ,8,7,,, ,9,3,]

解析:本题将列表转换成字符串,join会将每一个字符用‘,’串起来,所以本题选D。

38、执行以下程序后,要输出my44py45结果,该执行的选项堤()。

ls = ['my','44','py','45']

ls.reverse()

A.print(''.join(ls[-1::-1]))

B.print(''.join(ls))

C.print(''.join(ls[1:]))

D.print(''.join(ls[-1::]))

解析:本题考查字符串的切片,reverse()方法将列表反转,此时列表为['45','py','44','my'],此时利用切片是列表再次倒过来即可满足条件。所以本题选A。

39、以下关于Python的函数的描述,错误的是()。

A. python支持可选参数传递,定义的时候设置参数的默认值

B. 用def定义了函数之后,就等同于运行函数的代码

C. python支持用名称传递参数,调用的时候,带名称的参数可以改变在参数序列中的位置

D. python函数可以没有return语句,不返回值

解析:python可以支持可选参数传递,定义的时候设置参数的默认值,def定义了函数并没有运行函数的代码,python同样支持带参数名的传参方式,python中的函数可以没有返回值。所以本题选B。

40、下面这段代码的输出结果是()。

L = 'abcd'

def f(x,result=['a','b','c','d']):

if x:

result.remove(x[-1])

f(x[:-1])

return result

print(f(L))

A.['a','b','c','d']

B.['b','c','d']

C.['a','b','c']

D.[]

解析:本题考查函数的使用,调用函数是x='abcd',只要x不为空,函数f()会被不断调用,直到x值为空,每次调用result都要删除掉x字符串的最后一位字符相等的值。最终列表也为空。所以本题选D

1.选择题
1、树的度为3,且有9个度为3的结点,5个度为1的结点,但没有度为2的结点。则该树中的叶子结点数为______。

A.33

B.19

C.18

D.32

解析:本题考查的知识点是树。在树中,结点数为树中所有结点的度之和再加1。n=n0+n1+n2+n3,n-1=n0*0+n1*1+n2*2+n3*3,根据0*0+n1*1+n2*2+n3*3+1=0+5+3*9+1=33,n0=33-9-5=19,计算得出叶子结点数n0=19。所以本题答案是B。

2、下列算法中,最坏情况下时间复杂度最低的是______。

A.有序表的对分查找

B. 寻找最大项

C.顺序查找

D.堆排序

解析:对于长度为n的有序线性表,在最坏情况下,二分查找的时间复杂度为O(log2n);顺序查找的时间复杂度为O(n);寻找最大项的时间复杂度为O(n-1);堆排序的时间复杂度为O(nlog2n)。所以本题答案是A。

3、树的度为3,且有9个度为3的结点,20个叶子结点,但没有度为1的结点。则该树总的结点数为______。

A.30

B.29

C.47

D.不可能有这样的树

解析:本题考查的知识点是树。在树中,结点数为树中所有结点的度之和再加1。所以n0+n1+n2+n3=n0*0+n1*1+n2*2+n3*3+1,0+0+n2*2+3*9+1=9+20+n2,计算得出度为2的结点数n2=1,所以该二叉树的总结点数为20+1+9=30。所以本题答案是A。

4、设二叉树的中序序列为BCDA,后序序列为DCBA,则前序序列为______。

A.ACDB

B.CBDA

C.BCDA

D.ABCD

解析:本题考查的是二叉树的遍历。二叉树前序遍历顺序是DLR,即先访问根结点,然后遍历左子树,最后遍历右子树,并且遍历子树的时候也按照DLR的顺序递归遍历。中序遍历顺序是LDR,即左-根-右,而后序遍历是左-右-根。由题面二叉树的中序序列为BCDA,后序序列为DCBA,可知A是根结点,且根结点A没有右子树。中序序列的左子树为BCD,后序序列的左子树为DCB,说明D是C的左子树,C是B的左子树,故该二叉树的前序序列为ABCD。所以本题答案是D。

5、对长度为8的数组进行快速排序,最多需要的比较次数为______。

A.28

B.64

C.56

D.8

解析:快速排序的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录继续进行排序,以达到整个序列有序。快速排序法的最坏情况比较次数是n(n-1)/2。本题中对长度为8的数组进行快速排序,需要比较的次数为8*(8-1)/2=28。所以本题答案是A。

6、树的度为3,且有9个度为3的结点,20个叶子结点,但没有度为1的结点。则该树中度为2的结点数为______。

A.7

B.0

C.1

D.不可能有这样的树

解析:本题考查的知识点是树。在树中,结点数为树中所有结点的度之和再加1。所以n0+n1+n2+n3=n0*0+n1*1+n2*2+n3*3+1,计算得出度为2的结点数n2=1。所以本题答案是C。

7、设线性表的长度为12。最坏情况下冒泡排序需要的比较次数为______。

A.66

B.78

C.144

D.60

解析:冒泡排序法是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序。冒泡排序法是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序。所以本题答案是A。

8、设栈与队列初始状态为空。将元素A,B,C,D,E,F,G,H依次轮流入栈和入队,然后依次轮流退队和出栈,则输出序列为______。

A.B,G,D,E,F,C,H,A

B.G,B,E,D,C,F,A,H

C.D,C,B,A,E,F,G,H

D.A,B,C,D,H,G,F,E

解析:本题的考查知识点是栈和队列。栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。这表明栈的运算规则是"先进后出"(或称"后进先出")。在栈顶进行插入运算,称为进栈(或入栈),在栈顶进行删除运算,称为退栈(或出栈)。队列是指允许在一端进行插入、而在另一端进行删除的线性表。在队列这种数据结构中,最先插入的元素将最先能够被删除,反之,最后插入的元素将最后才能被删除。因此队列又称为先进先出或后进后出的线性表。本题中,A,B,C,D,E,F,G,H依次轮流入栈和入队,栈中元素:A,C,E,G,队中元素:B,D,F,H。依次轮流退队和出栈,队列中输出元素B,栈中输出元素G,依次轮流进行输出,最后输出结果为:B,G,D,E,F,C,H,A。所以A选项正确。所以本题答案是A。

9、设元素集合为D={1,2,3,4,5,6}。B=(D,R)为线性结构所对应的R是______。

A.R={(4,5),(6,1),(5,6),(1,3),(2,4),(3,2)}

B. R={(6,1),(5,6),(1,3),(2,4),(3,2)}

C.R={(6,1),(5,6),(1,3),(3,4),(3,2)}

D.R={(6,1),(5,6),(2,3),(2,4),(3,2)}

解析:本题考查知识点是线性结构。线性结构需要满足的条件有:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件。没有前件的结点称为根结点;没有后件的结点称为终端结点(也称叶子结点)。选项B中5-->6-->1-->3-->2-->4符合线性结构的条件。所以本题答案是B。

10、循环队列的存储空间为Q(1:60),初始状态为空。经过一系列正常的入队与退队操作后,front=24,rear=25。循环队列中的元素个数为______。

A.1

B.2

C.59

D.60

解析:本题考查知识点是循环队列。循环队列是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。经过一系列的入队操作和退队操作后,头指针(front=24)尾指针(rear=25)说明入队25次,退队24次,此时队列中有一个元素,即队列中元素个数为1。所以本题答案是A。

11、下列选项能输出'Hello World'的是______。

A.print('Hello World')

B.print(Hello World)

C.printf("Hello World")

D.printf('Hello World')

解析:本题选A。

12、1、树的度为3,且有9个度为3的结点,5个度为1的结点,但没有度为2的结点。则该树中的叶子结点数为______。

A.33

B.19

C.18

D.32

解析:根据树的总结点数量不变可设叶子结点数为x,9*5+x = 9*3+5*1+0*x+1。求得x = 19所以本题选B

13、以下关于二进制整数的定义,正确的是______。

A.0bC3F

B.0b1708

C.0B1019

D.0B1010

解析:二进制整数以0b引导,由字符0和1组成。本题选D。

14、以下关于Python语言浮点数类型的描述中,错误的是______。

A.Python语言要求所有浮点数必须带有小数部分

B.浮点数类型表示带有小数的类型

C.小数部分不可以为0

D.浮点数类型与数学中实数的概念一致

解析:Python语言中的浮点数类型必须带有小数部分,小数部分可以是0。本题选C。

15、以下变量名中,不符合Python语言变量命名规则的是______。

A.keyword_33

B.keyword33_

C.33_keyword

D._33keyword

解析:Python采用大写字母、小写字母、数字、下划线和汉字等字符及其组合进行命名,但名字的首字符不能是数字,标识符中间不能出现空格,长度没有限制。本题选C。

16、以下的描述中,不属于Python语言控制结构的是______。

A.循环结构

B.程序异常

C.跳转结构

D.顺序结构

顺解析:序结构、分支结构和循环结构是Python语言中3种最基本的控制结构。异常处理以程序异常为判断条件,根据一段代码执行的正确性进行程序逻辑选择,是分支结构的一种扩展。本题选C。

17、以下关于分支结构的描述中,错误的是______。

A.二分支结构有一种紧凑形式,使用保留字if和elif实现

B.if语句中条件部分可以使用任何能够产生True和False的语句和函数

C.if语句中语句块执行与否依赖于条件判断

D.多分支结构用于设置多个判断条件以及对应的多条执行路径

解析:二分支结构使用if-else保留字对条件进行判断,多分支结构使用if-elif-else保留字对多个相关条件进行判断本题选A。

18、以下代码的输出结果是______。

while True:

guess =eval(input())

if guess == 0x452//2:

break

print(guess)

A."0x452//2"

B.break

C.0x452

D.553

解析:运算符//表示计算整数商。当guess == 0x452//2条件成立时,跳出while循环,输出guess的值。0x452是16进制数,转换成十进制为4*16*16+5*16+2*1=1106,则0x452//2的值为553。本题选D。

19、以下代码的输出结果是______。

for s in "testatest":

if s=="a" or s=='e':

continue

print(s, end='')

A.tsttst

B.testatest

C.testtest

D.tstatst

解析:continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。由代码可知,当s=="a"或s=='e'条件成立时,跳出当前当次循环,不输出s的值,则最后的输出结果为tsttst。本题选A。

20、以下关于分支和循环结构的描述中,错误的是______。

A.所有的for分支都可以用while循环改写

B.While循环只能用来实现无限循环

C.可以终止一个循环的保留字是break

D.continue可以停止后续代码的执行,从循环的开头重新执行

解析:while循环也可以用来实现遍历循环。本题选B。

21、以下关于Python函数的描述中,错误的是______。

A.函数是一段可重用的语句组

B.每次使用函数需要提供相同的参数作为输入

C.函数通过函数名进行调用

D.函数是一段具有特定功能的语句组

解析:每次使用函数可以提供不同参数作为输入,以实现对不同数据的处理。本题选B。

22、函数中定义了2个参数,并且两个参数都指定了默认值,调用函数时参数个数最少是______。

A.0

B.2

C.1

D.3

解析:函数的参数在定义时可以指定默认值,当函数被调用时,如果没有传入对应的参数值,则使用函数定义时的默认值替代,则调用函数时,参数个数最少是0。本题选A。

23、以下关于Python函数的描述中,正确的是______。

A.一个函数中只允许有一条return语句

B.Python中,def和return是函数必须使用的保留字

C.Python函数定义中没有对参数指定类型,这说明,参数在函数中可以当作任意类型使用

D.函数eval()可以用于数值表达式求值,例如eval("2*3+1")

解析:函数eval()的作用是去掉字符串最外侧的引号,并按照Python语句方式执行去掉引号后的字符内容。本题选D。

25、以下关于Python全局变量和局部变量的描述中,错误的是______。

A.全局变量在程序执行的全过程有效

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

C.全局变量不能和局部变量重名

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

解析:全局变量和局部变量可以重名。本题选C。

26、以下的函数定义中,错误的是______。

A.def vfunc(a,b=2):

B.def vfunc(a,b):

C.def vfunc(a,*b):

D.def vfunc(*a,b):

解析:可选参数一般都放置在非可选参数的后面,即定义函数时,先给出所有非可选参数,然后再分别列出每个可选参数及对应的默认值。"def vfunc(*a,b):"函数定义错误,参数位置出错。本题选D。

27、以下代码的输出结果是______。

ls=[[1,2,3],[[4,5],6],[7,8]]

print(len(ls))

A.3

B.1

C.4

D.8

解析:len(ls):列表ls中的元素个数(长度)。代码执行后的输出结果是3,即ls=[[1,2,3],[[4,5],6],[7,8]]的长度为3。本题选A。

28、以下代码的输出结果是______。

ls = ["2020", "20.20", "Python"]

ls.append(2020)

ls.append([2020, "2020"])

print(ls)

A.['2020', '20.20', 'Python', 2020]

B.['2020', '20.20', 'Python', 2020, [2020, '2020']]

C.['2020', '20.20', 'Python', 2020, 2020, '2020']

D.['2020', '20.20', 'Python', 2020, ['2020']]

解析:ls.append(x):在列表ls最后增加一个元素x。代码执行后的输出结果为['2020', '20.20', 'Python', 2020, [2020, '2020']]。本题选B。

29、以下代码的输出结果是______。

d ={"大海":"蓝色", "天空":"灰色", "大地":"黑色"}

print(d["大地"], d.get("大地", "黄色"))

A.黑色 黑色

B.黑色 灰色

C.黑色 黄色

D.黑色 蓝色

解析:d.get(key,default):键存在则返回相应值,否则返回默认值default。代码执行后的输出结果:黑色 黑色。本题选A。

30、以下选项,错误的是______。

A.Python的str、tuple和list类型都属于序列类型

B.组合数据类型可以分为3类:序列类型、集合类型和映射类型

C.Python组合数据类型能够将多个数据组织起来,通过单一的表示使数据操作更有序、更容易理解

D.序列类型是二维元素向量,元素之间存在先后关系,通过序号访问

解析:序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。本题选D。

31、以下代码的输出结果是______。

d = {}

for i in range(26):

d[chr(i+ord("a"))] = chr((i+13) % 26 + ord("a"))

for c in "Python":

print(d.get(c,c), end="")

A.Pabugl

B.Plguba

C.Cabugl

D.Python

解析:Python通过保留字for实现遍历循环,使用方法如下: for <循环变量> in <遍历结构> <语句块> 遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取的元素执行一次语句块。for语句的循环执行次数是根据遍历结构中元素个数确定的。 chr(x)返回Unicode编码x对应的单字符,ord(x)返回单字符x表示的Unicode编码。 代码一开始生成一个空字典,第一个for循环用于向其中添加字典元素。range(26)表示i的取值范围是0至25之间的整数(包括0与25)。"a"对应的Unicode编码为97。 i=0时,chr(ord("a"))='a',chr((13) % 26 + ord("a"))=chr(13+97)= 'n',则第三行赋值语句简化为d['a']='n',此时字典d为{'a': 'n'}。 i=1时,chr(1+ord("a"))= 'b',chr((1+13) % 26 + ord("a"))=chr(14+97)= 'o',则第三行赋值语句简化为d['b']='o',此时字典d为{'a': 'n', 'b': 'o'}。 依次类推,最后得出字典d为{'a': 'n', 'b': 'o', 'c': 'p', 'd': 'q', 'e': 'r', 'f': 's', 'g': 't', 'h': 'u', 'i': 'v', 'j': 'w', 'k': 'x', 'l': 'y', 'm': 'z', 'n': 'a', 'o': 'b', 'p': 'c', 'q': 'd', 'r': 'e', 's': 'f', 't': 'g', 'u': 'h', 'v': 'i', 'w': 'j', 'x': 'k', 'y': 'l', 'z': 'm'},简而言之,每个字母键对应的是Unicode编码比自己大13的字母值。本题选B。

32、以下关于Python二维数据的描述中,错误的是______。

A.从CSV文件获得数据内容后,可以用replace()来去掉每行最后的换行符

B.CSV文件的每一行是一维数据,可以用列表、元组和字典表示

C.若一个列表变量里的元素都是字符串类型,则可以用join()合成字符串

D.列表中保存的二维数据,可以通过循环用write()写入CSV文件

解析:高维数据由键值对类型的数据构成,采用对象方式组织,可以多层嵌套。高维数据相比一维和二维数据能表达更加灵活和复杂的数据关系,可以用字典类型表示。一维数据不用字典类型来表示。本题选B。

33、不属于Python文件读操作的是______。

A.readtext

B.readline

C.readlines

D.read

解析:Python文件读操作的方法: f.read(size):从文件中读入整个文件内容。参数可选,如果给出,读入前size长度的字符串或字节流。 f.readline(size):从文件中读入一行内容。参数可选,如果给出,读入该行前size长度的字符串或字节流。 f.readlines(hint):从文件中读入所有行,以每行为元素形成一个列表。参数可选,如果给出,读入hint行。 f.seek(offset):改变当前文件操作指针的位置,offset的值:0为文件开头;1为当前位置;2为文件结尾。本题选A。

34、文件book.txt在当前代码所在目录内,其内容是一段文本:book,以下代码的输出结果是______。

txt = open("book.txt", "r")

print(txt)

txt.close()

A.非其他答案

B.book.txt

C.txt

D.book

解析:open()方法的作用是打开一个文件,而所给的代码未对文件book.txt进行读写操作,直接关闭,运行后输出<_io.TextIOWrapper name='book.txt' mode='r' encoding='cp936'>。本题选A。

35、假设city.csv文件内容如下______。

巴哈马,巴林,孟加拉国,巴巴多斯

白俄罗斯,比利时,伯利兹

以下代码的输出结果是:

f = open("city.csv", "r")

ls = f.read().split(",")

f.close()

print(ls)

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

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

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

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

解析:f.read(size):从文件中读入整个文件内容。参数可选,如果给出,读入前size长度的字符串或字节流。 split(str,num)通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔num个子字符串。 f.read().split(","):从文件中读入整个文件内容,并以逗号分隔。原文的第一行后有一个换行符"\n",所以读入文件内容时,这里的字符串应为"巴巴多斯\n白俄罗斯"。 运行代码后的输出结果是['巴哈马', '巴林', '孟加拉国', '巴巴多斯\n白俄罗斯', '比利时', '伯利兹']。本题选C。

36、以下代码的输出结果是______。

fo = open("book.txt","w")

ls = ['book','23','201009','20']

fo.writelines(ls)

fo.close()

A.[book,23,201009,20]

B.book,23,201009,20

C.book2320100920

D.['book','23','201009','20']

解析:fo.writelines(lines)方法的含义是将一个元素为字符串的列表整体写入文件。代码运行后的输出结果是book2320100920。本题选C。

37、在读写文件之前,需要打开文件使用的函数是______。

A.open

B.fopen

C.file

D.CFile

解析:Python通过open()函数打开一个文件,并返回一个操作这个文件的变量,语法形式如下: <变量名>=open(<文件路径及文件名>,<打开模式>)本题选A。

38、不属于Python开发用户界面第三方库的是______。

A.wxPython

B.PyQt5

C.turtle

D.PyGTK

解析:Python语言中开发用户界面方向的第三方库:PyQt5、wxPython、PyGTK,而turtle库是python的标准库之一。本题选C。

39、不属于Python数据分析及可视化处理第三方库的是______。

A.mxnet

B.pandas

C.mayavi2

D.numpy

解析:Python语言中数据分析方向的第三方库:numpy、scipy、pandas。 Python语言中数据可视化析方向的第三方库:matplotliB、TVTK、mayavi。 mxnet是Python语言中深度学习方向的第三方库。本题选A。

40、不属于Python用于Web开发第三方库的是______。

A.flask

B.django

C.scrapy

D.pyramid
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/736942
推荐阅读
相关标签
  

闽ICP备14008679号