40道python二级考试真题火爆互联网,完整版答案解析为你保驾护航

Python010

40道python二级考试真题火爆互联网,完整版答案解析为你保驾护航,第1张

1.以下关于程序设计语言的描述,错误的选项是:

A Python语言是一种脚本编程语言

B 汇编语言是直接操作计算机硬件的编程语言

C 程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段

D 编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序

正确答案: C

2.表达式 1001 == 0x3e7 的结果是:

A false

B False

C true

D True

正确答案: B

3.以下选项,不是Python保留字的选项是:

A del

B pass

C not

D string

正确答案: D

4.表达式 eval(‘500/10’) 的结果是:

A ‘500/10’

B 500/10

C 50

D 50.0

正确答案: D

5.表达式 type(eval(‘45’)) 的结果是:

A

B

C None

D

正确答案: D

6.表达式 pmod(20,3) 的结果是:

A 6, 2

B 6

C 2

D (6, 2)

正确答案: D

7.以下关于字符串类型的操作的描述,错误的是

A str.replace(x,y)方法把字符串str中所有的x子串都替换成y

B 想把一个字符串str所有的字符都大写,用str.upper()

C 想获取字符串str的长度,用字符串处理函数 str.len()

D 设 x = ’aa’ ,则执行x*3的结果是‘aaaaaa’

正确答案: C

8.设 str = ‘python’,想把字符串的第一个字母大写,其他字母还是小写,正确的选项是:

A print(str[0].upper()+str[1:])

B print(str[1].upper()+str[-1:1])

C print(str[0].upper()+str[1:-1])

D print(str[1].upper()+str[2:])

正确答案: A

9.以下选项,不属于程序流程图基本元素的是:

A 循环框

B 连接点

C 判断框

D 起始框

正确答案: A

10.以下关于循环结构的描述,错误的是:

A 遍历循环使用for in 语句,其中循环结构不能是文件

B 使用range()函数可以指定for循环的次数

C for i in range(5)表示循环5次,i的值是从0到4

D 用字符串做循环结构的时候,循环的次数是字符串的长度

正确答案: A

11.执行以下程序,输入”93python22”,输出结果是:

A python9322

B python

C 93python22

D 9322

正确答案: C

A la

B 请输入整数

C pythonpython

D python

正确答案: C

A 2

B 请输入q退出:

C 3

D 1

正确答案: A

14.以下程序的输出结果是:

A 0

B 2

C UnboundLocalError

D 5

正确答案: A

A 18 None

B 10 18

C UnboundLocalError

D 18 18

正确答案: B

def test( b = 2, a = 4):

global z

z += a * b

return z

z = 10

print(test(),z)

18,18

17.以下程序的输出结果是:

A 22.0 None

B 10 None

C 22 None

D 10.0 22.0

正确答案: B

18.以下表达式,正确定义了一个集合数据对象的是:

A x = { 200, ’flg’, 20.3}

B x = ( 200, ’flg’, 20.3)

C x = [ 200, ’flg’, 20.3 ]

D x = {‘flg’ : 20.3}

正确答案: A

19.以下程序的输出结果是:

A [‘z’, ‘j’, ‘s’, ‘y’]

B [‘j’, ‘s’, ‘y’, ‘z’]

C [‘j’, ‘z’, ‘z’, ‘s’, ‘z’, ‘y’, ‘j’]

D [‘j’, ‘j’, ‘s’, ‘y’, ‘z’, ‘z’, ‘z’]

正确答案: B

20.以下程序的输出结果是:

A htslbht

B hlbst

C tsblh

D hhlstt

正确答案: B

21.已知id(ls1) = 4404896968,以下程序的输出结果是:

A 4404896968 4404896904

B 4404896904 4404896968

C 4404896968 4404896968

D 4404896904 4404896904

正确答案: A

A [‘300’,‘200’,‘400’]

B [‘shandong’, ‘hebei’, ‘beijing’]

C [300,200,400]

D ‘shandong’, ‘hebei’, ‘beijing’

正确答案: B

23.以下关于文件的描述,错误的是:

A 二进制文件和文本文件的操作步骤都是“打开-操作-关闭”

B open() 打开文件之后,文件的内容并没有在内存中

C open()只能打开一个已经存在的文件

D 文件读写之后,要调用close()才能确保文件被保存在磁盘中了

正确答案: C

24.以下程序输出到文件text.csv里的结果是:

A [90,87,93]

B 90,87,93

C ‘[90,87,93]’

D ‘90,87,93’

正确答案: B

25.以下程序的输出结果是:

A ( [1,2,3,4,5])

B [12, 34, 56, 78]

C ([12, 34, 56, 78])

D [1,2,3,4,5]

正确答案: B

26.以下关于数据维度的描述,错误的是:

A 采用列表表示一维数据,不同数据类型的元素是可以的

B JSON格式可以表示比二维数据还复杂的高维数据

C 二维数据可以看成是一维数据的组合形式

D 字典不可以表示二维以上的高维数据

正确答案: D

27.以下不属于Python的pip工具命令的选项是:

A show

B install

C download

D get

正确答案: D

29.以下不是程序输出结果的选项是:

A [12, 78, 56, 34]

B [56, 12, 78, 34]

C [12, 34, 56, 78]

D [12, 78, 34, 56]

正确答案: C

30.以下关于turtle库的描述,正确的是:

A 在import turtle之后就可以用circle()语句,来画一个圆圈

B 要用from turtle import turtle来导入所有的库函数

C home() 函数设置当前画笔位置到原点,朝向东

D seth(x) 是setheading(x)函数的别名,让画笔向前移动x

正确答案: C

31.一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用

A 栈

B 堆

C 链表

D 数组

正确答案: A

因为函数调用是能过将关键寄存器压栈保护现场;在函数返回时,弹栈恢复现场来完成的。

而递归调用说白了就是自已调用自己。也就是不停的上演pop, push的栈操作。

系统为什么选用栈来实现函数间的调用呢?我觉的主要原因如下:

对于频繁的调用操作过程中,栈的pop,push操作最简洁,快速。硬件级(或者理解成汇编级也行)支持栈操作。所以用栈最高效,快速。如果用堆、数组、链表,不光要维护很多功能辅助性数据,算法也很麻烦。这样会大大降低计算机的使用效率。

32.下列叙述中正确的是

A 一个算法的空间复杂度大,则其时间复杂度必定小

B 一个算法的空间复杂度大,则其时间复杂度也必定大

C 算法的时间复杂度与空间复杂度没有直接关系

D 一个算法的时间复杂度大,则其空间复杂度必定小

正确答案: C

34.软件开发离不开系统环境资源的支持,其中必要的测试数据属于

A 辅助资源

B 硬件资源

C 通信资源

D 支持软件

正确答案: A

35.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是

A 错误推测法

B 白箱测试法

C 黑箱测试法

D 安装测试法

正确答案: C

37.下列有关数据库的描述,正确的是

A 数据库是一个关系

B 数据库是一个DBF文件

C 数据库是一个结构化的数据集合

D 数据库是一组文件

正确答案: C

38.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和

A 可重用性差

B 冗余性

C 非持久性

D 安全性差

正确答案: B

39.软件开发的结构化生命周期方法将软件生命周期划分成

A 定义、开发、运行维护

B 设计阶段、编程阶段、测试阶段

C 总体设计、详细设计、编程调试

D 需求分析、功能定义、系统设计

正确答案: A

40.下列不属于结构化分析的常用工具的是

A 判定树

B 数据字典

C 数据流图

D PAD图

正确答案: C

又快临近期末考试了,小伙伴们是不是又开始焦虑了呢?挂科怎么办?如果很幸运看到我的文章,你就偷着乐吧,我总结出:一般python期末考试老师们最爱考的内容,一定要好好看啊,争取做到python不挂科;还有暑假马上来了,小伙伴们可以在闲暇之际,看看小猿圈的视频,为以后找工作垫垫基础,也是很不错的。

一、选择题

1、已知x=[1,2]和y=[3,4],那么x+y等于什么(  )

      A、3            B、7            C、[1,2,3,4]          D、[4,6]

2、os.path模块的下列方法,哪个是用来判断指定路径是否存在的?(  )

    A、exists()      B、exist()        C、getsize()    D、isfile()

3、以下选项中不是 Python 对文件的写操作方法的是 ( D )

A、 writelines      B、write        C、rite 和 seek        D、writetext

4、关于算法的描述,以下选项中错误的是  ( B )

A、算法是指解题方案的准确而完整的描述

B、算法的复杂度主要包括时间复杂度和数据复杂度

C、算法具有可行性、确定性、有穷性的基本特征

D、算法的基本要素包括数据对象的运算和操作及算法的控制结构

解释:算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。

5、.关于Python的lambda函数,以下选项中描述错误的是 ( B )

A、 lambda函数将函数名作为函数结果返回

B、f = lambda x,y:x+y 执行后,f的类型为数字类型

C、lambda用于定义简单的、能够在一行内表示的函数

D、可以使用lambda函数定义列表的排序原则

6、基本的Python内置函数eval(x)的作用是 ( B )

A、 将x转换成浮点数

B、去掉字符串x最外侧引号,当作Python表达式评估返回其值

C、计算字符串x作为Python语句的值

D、 将整数x转换为十六进制字符串

二、填空题

1、 在Python中____表示空类型。(None)

2、 查看变量类型的Python内置函数是______。(type())

3、list(map(str, [1, 2, 3]))的执行结果为___________。([‘1’, ‘2’, ‘3’])

4、 Python标准库math中用来计算平方根的函数是____。(sqrt)

5、 假设有列表a = [‘name’, ‘age’, ‘sex’]和b = [‘Dong’, 38, ‘Male’],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为___________。(c = dict(zip(a, b)))

三、简答题

1、简单解释Python基于值的自动内存管理方式?

----Python采用的是基于值得内存管理方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python自动将其删除。

2、异常和错误有什么区别?

----异常是指因为程序执行过程中出错而在正常控制流以外采取的行为。严格来说,语法错误和逻辑错误不属于异常,但有些语法错误往往会导致异常,例如由于大小写拼写错误而访问不存在的对象,或者试图访问不存在的文件,等等。

3、请用自己的算法, 按升序合并如下两个list, 并去除重复的元素:

      list1 = [2, 3, 7, 4, 9, 5, 6,18]

      list2 = [5, 6, 10, 17, 3, 2,1]

----先转换成集合自动去重,再转换成列表

      list1=[2, 3, 7, 4, 9, 5, 6,18]

      list2=[5, 6, 10, 17, 3, 2,1]

      list3=list(set(list1+list2))

4、求结果

    def num():

      return [lambda x: i*x for i in range(4)]

      print([m(2) for m in num()])

      答案:[6, 6, 6, 6]

5、如何生成一个随机数?

    import random

    def rdm(n):

    lis = []

    for i in range(n):

    n = random.randint(1,9)

    lis.append(str(n))

      s = ''.join(lis)

      return int(s)

这套题就到这里,同学们做的怎么样啊,如果是毫无压力,那估计你这个学期学的python还阔以了,如果有点难度,那就要仔细看看了,因为这套题很基础,看哪没有学明白,好好看看那一部分的内容,自己复习不进去,也可以来小猿圈看看,把自己的弱项重新听听课,准备迎接期末考试吧,希望大家考的都会,蒙的全对,加油啦!

(1)

a. 8 * 3 * 6 / 2 = 36

b. 7 / 6 * 3.2 / 2.15 * (5.5 + 3.5) = 3.958139534883721

c. 7 >2 or 4 <9

这是一个布尔表达式,返回值为True

d. 5 + (a + b)2 = 26

e. 8 * 103 * math.log(2),需要先导入math库

f. S[2:6],返回字符串S的第三个字符到第六个字符的字符串,即 "CDEF"

(2)

x = 22 定义一个整数变量 x,并赋值为22

y = x 定义一个整数变量 y,并将x的值赋给 y

id(x), id(y) 返回x和y的内存地址,如果两个地址相同,说明x和y指向同一个对象。因此,执行这个语句会得到结果 (id(x), id(y)),两个地址相同。