image

编辑人: 沉寂于曾经

calendar2025-06-05

message7

visits489

2021年12月Python三级理论答案及解析

一、单选题

1、小明在学习计算机时,学习到了一个十六进制数101,这个十六进制数对应的十进制数的数值是?

A、65

B、66

C、256

D、257

解析:【喵呜刷题小喵解析】:十六进制数101对应的十进制数的数值为1×16^2+0×16^1+1×16^0=256+0+1=257。因此,答案为D选项,即257。

2、csv文件中读入数据的程序段如下:

A、line.pop("\n")

B、line.del("\n")

C、line.remove("\n")

D、line.replace("\n","")

解析:【喵呜刷题小喵解析】题目中给出的是一段尝试从CSV文件中读入数据,并试图删除每行末尾的换行符"\n"的代码。根据给出的选项,我们可以分析如下:A. `line.pop("\n")`:这是错误的,因为`pop()`方法用于移除列表中的元素,而不是字符串。它需要一个索引作为参数,而不是一个字符串。B. `line.del("\n")`:这也是错误的,因为`del`是一个语句,而不是一个方法,它不能用于删除字符串中的字符。C. `line.remove("\n")`:虽然`remove()`方法可以用于删除字符串中的指定子串,但在此处并不适用,因为它会引发`ValueError`异常,因为字符串不是列表,没有`remove()`方法。D. `line.replace("\n","")`:这是正确的。`replace()`方法是字符串的一个方法,用于替换子串。在这里,它用于将换行符"\n"替换为空字符串,从而删除了它。因此,正确答案是D。

3、下列表达式的结果与其他三项不相同的是?

A、abs(-4)

B、round(abs(-3.5))

C、abs(round(-3.5))

D、min(round(-3.5),round(3.8))

解析:【喵呜刷题小喵解析】首先,我们需要理解每个表达式的含义和结果。A. abs(-4):abs函数返回参数的绝对值,所以abs(-4)的结果是4。B. round(abs(-3.5)):首先计算-3.5的绝对值得到3.5,然后round函数将3.5四舍五入得到4。C. abs(round(-3.5)):首先round函数将-3.5四舍五入得到-4,但abs函数返回参数的绝对值,所以abs(-4)的结果是4。D. min(round(-3.5),round(3.8)):round函数将-3.5四舍五入得到-4,将3.8四舍五入得到4,然后min函数返回这两个数中的最小值,即-4。从上面的解析可以看出,A、B和C的结果都是4,而D的结果是-4。因此,与其他三项结果不相同的是D。

4、表达式max([111,22,3],key=str)的值为?

A、3

B、111

C、’3’

D、’111’

解析:【喵呜刷题小喵解析】:在Python中,`max()`函数用于找到可迭代对象中的最大值。当`key`参数被设置为`str`时,`max()`函数会按照字符串的字典序(lexicographical order)来比较元素。在这个例子中,`[111, 22, 3]`中的每个元素都会被转换为字符串进行比较。字符串"111"在字典序上大于"22"和"3",因此`max([111, 22, 3], key=str)`的值为"111"。所以,正确答案是A。

5、下列不能产生结果为元组(1, 2, 3, 4)的是?

A、1, 2, 3, 4

B、tuple({1:2,3:4})

C、tuple((1,2,3,4))

D、tuple([1,2,3,4])

解析:【喵呜刷题小喵解析】:元组是一种不可变序列类型,其元素可以是任意类型。选项A直接列出了四个元素,它们会被自动转化为元组。选项C使用了元组构造函数,传入了一个元组作为参数,因此生成的也是元组。选项D使用了列表作为参数,但元组构造函数会自动将列表转化为元组。而选项B传入的是一个字典,字典是一种键值对的数据结构,不能直接转化为元组,因此不能产生结果为元组(1, 2, 3, 4)。因此,正确答案是B。

6、不能实现打开文件的功能的语句是?

A、f = open('D:/city.csv', 'w')

B、f = open('D:\city.csv', 'w-')

C、f = open('D://city.csv ', 'w')

D、f = open('D:\\city.csv ', 'w')

解析:【喵呜刷题小喵解析】在Python中,打开文件的语句通常使用`open()`函数。在给出的选项中,A、C和D都是正确的打开文件的语句,它们使用了正确的文件路径和打开模式。然而,选项B中的打开模式 `'w-'` 是不正确的。`'w-'` 模式意味着写入模式,但是会先锁定文件,直到文件被关闭。这不是一个标准的打开模式,因此不能实现打开文件的功能。所以,正确答案是B。

7、关于十进制数,下列说法错误的是?

A、十进制数的基数为10,所以从小数点向左数第二位的权值是10的2次幂

B、十进制数的基数为10,所以里面包括0,1,2……,9这十个数码

C、十进制数的基本运算规则满足“逢十进一”,所以有时我们可以采用凑十法来进行简便运算

D、十进制数是有符号的,如-18

解析:【喵呜刷题小喵解析】:选项A提到“十进制数的基数为10,所以从小数点向左数第二位的权值是10的2次幂”。这个说法是错误的。在十进制数中,小数点向左数第二位的权值是10的1次幂,即10。因此,选项A是错误的。选项B提到“十进制数的基数为10,所以里面包括0,1,2……,9这十个数码”,这是正确的。十进制数的基数是10,确实包括0到9这十个数码。选项C提到“十进制数的基本运算规则满足“逢十进一”,所以有时我们可以采用凑十法来进行简便运算”,这也是正确的。十进制数的确遵循“逢十进一”的规则,因此可以采用凑十法来进行简便运算。选项D提到“十进制数是有符号的,如-18”,这也是正确的。十进制数确实可以是有符号的,例如-18就是一个十进制有符号数。因此,正确答案是A。

8、关于Python的序列描述,不正确的是?

A、序列是Python中最基本的数据结构

B、最常见的序列是列表和元组

C、序列中表示元素位置的数字叫做索引,索引都是正整数

D、Python内置了求序列长度的函数

解析:【喵呜刷题小喵解析】:本题考查的是Python中序列相关的知识点。选项A:序列是Python中最基本的数据结构,这是正确的。在Python中,序列是一种抽象的数据类型,可以包含一系列的元素。选项B:最常见的序列是列表和元组,这也是正确的。列表和元组都是Python中的序列类型,它们都可以存储多个元素。选项C:序列中表示元素位置的数字叫做索引,索引都是正整数,这是不正确的。在Python中,序列的索引是从0开始的,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推。索引并不都是正整数,它们也可以是0。选项D:Python内置了求序列长度的函数,这是正确的。Python中,可以使用len()函数来获取序列的长度。因此,不正确的选项是C。

9、关于元组,描述不正确的是?

A、元组是用括号把元素括在一起的,元素之间是用逗号分隔的

B、元组可以为空,写做tup1=()

C、元组中可以只有一个元素,写做tup1=(3)

D、元组中的元素可以具有不同的类型

解析:【喵呜刷题小喵解析】:在Python中,元组是用括号将元素括在一起,元素之间用逗号分隔的。因此,A选项描述正确。元组可以为空,即没有任何元素的元组,可以写作`tup1=()`,所以B选项描述正确。元组中可以有一个元素,但写法应为`tup1=(3,)`,而不是`tup1=(3)`,因为只有一个元素的元组需要加上逗号,所以C选项描述不正确。元组中的元素可以具有不同的类型,所以D选项描述正确。因此,描述不正确的是C选项。

10、以下程序的输出结果是?

A、z

B、2.0

C、error

D、没有输出

解析:【喵呜刷题小喵解析】:题目中的图片可能无法直接显示,但从题目给出的信息来看,似乎是一个C语言的程序片段。其中,`/nA z/nB 2.0`可能表示一个变量`z`被赋值为2.0,`/nC error`可能表示程序执行过程中出现了错误。因此,程序的输出结果应该是`error`,即选项C。由于题目中并没有给出具体的程序代码,因此无法确定程序的具体执行过程,但根据给出的信息,选项C是最合理的答案。

11、排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。下列排序算法中效率最高的是?

A、冒泡排序算法

B、选择排序算法

C、插入排序算法

D、快速排序算法

解析:【喵呜刷题小喵解析】:在各种排序算法中,快速排序算法的效率通常是最高的。它的平均时间复杂度为O(n log n),其中n是要排序的元素数量。相比于其他排序算法,如冒泡排序、选择排序和插入排序,快速排序在大多数情况下具有更好的性能。因此,从效率的角度来看,快速排序算法是效率最高的排序算法。

12、bool()函数根据传入的参数的逻辑值创建一个新的布尔值,下列返回值是False的是?

A、bool(2*3-0)

B、bool(2*3-2)

C、bool(2*3-3)

D、bool(2*3-6)

解析:【喵呜刷题小喵解析】在Python中,bool()函数用于将参数转换为布尔值。布尔值只有True和False两种。当参数为0时,bool()函数返回False;当参数非0时,bool()函数返回True。对于选项A,2*3-0 = 6,非0,所以bool(2*3-0)返回True。对于选项B,2*3-2 = 4,非0,所以bool(2*3-2)返回True。对于选项C,2*3-3 = 3,非0,所以bool(2*3-3)返回True。对于选项D,2*3-6 = 0,0是False,所以bool(2*3-6)返回False。因此,选项D的返回值是False。

13、下列函数能创建一个新的元组的是?

A、tuple()

B、list()

C、dict()

D、set()

解析:【喵呜刷题小喵解析】:在这个问题中,我们需要识别哪个函数能够创建一个新的元组。A选项的tuple()函数是用来创建一个新的元组的。B选项的list()函数是用来创建一个新的列表的。C选项的dict()函数是用来创建一个新的字典的。D选项的set()函数是用来创建一个新的集合的。因此,正确答案是A,即tuple()函数能够创建一个新的元组。

14、ascii()返回一个表示对象的字符串,则ascii(1)的结果是?

A、1

B、'1'

C、"'1'"

D、"'\\u4e2d\\u6587'"

解析:【喵呜刷题小喵解析】:在Python中,`ascii()`函数返回对象的ASCII字符串表示。对于整数,它返回整数的字符串表示。因此,`ascii(1)`的结果是`'1'`,而不是`'1'`的ASCII编码,也不是`'1'`的引号包围形式,更不是中文字符的Unicode编码。所以,正确答案是B。

15、下列输出结果为"1+2+3=?"的是?

A、print(1+2+3=?)

B、print(1+2+3,'=?')

C、print(1,2,3,sep='+',end='=?')

D、print(1,2,3,sep='+','=?')

解析:【喵呜刷题小喵解析】在Python中,`print`函数用于输出内容。选项A和B中的`print`函数调用方式不正确,因为它们没有正确指定要输出的内容。选项C使用`print`函数输出1、2和3,并使用`sep`参数指定使用`+`作为分隔符,`end`参数指定输出`=?`作为结尾,因此输出结果为"1+2+3=?"。选项D中的`sep`参数没有正确指定,因此无法正确输出。因此,正确答案是C。

16、a = max('12345'),下列选项中语法正确的一项是?

A、print(min(float(a),7,6))

B、print(min(chr(a),7,6))

C、print(min(bin(a),7,6))

D、print(min(hex(a),7,6))

解析:【喵呜刷题小喵解析】首先,我们需要理解题目中的代码。题目中的代码 `a = max('12345')` 试图获取字符串 '12345' 中的最大值,但这里存在错误,因为 `max` 函数不能用于字符串。字符串中的每个字符都有其ASCII值,但 `max` 函数不能直接应用于字符串。接下来,我们分析每个选项:A. `print(min(float(a),7,6))`* 这里 `float(a)` 会引发错误,因为 `a` 并未被正确赋值。如果 `a` 被正确赋值为一个数字,那么 `min(float(a),7,6)` 将会返回这三个数中的最小值。B. `print(min(chr(a),7,6))`* `chr(a)` 会将 `a` 转换为其对应的ASCII字符。但 `a` 并未被正确赋值,所以这会引发错误。C. `print(min(bin(a),7,6))`* `bin(a)` 会将 `a` 转换为其二进制表示。但 `a` 并未被正确赋值,所以这会引发错误。D. `print(min(hex(a),7,6))`* `hex(a)` 会将 `a` 转换为其十六进制表示。但 `a` 并未被正确赋值,所以这会引发错误。由于 `a` 并未被正确赋值,所有选项都会引发错误。但如果我们假设 `a` 被正确赋值为一个数字,那么只有选项A的语法是正确的,并且能够返回正确的结果。因此,正确答案应该是A。

17、运行结果与其他三项不同的是?

A、sum([1,2,3],4)

B、sum([0,1,2],[3,2,2])

C、sum([2,2,2],max(4,3,2))

D、sum([0,3,4],int('3'))

解析:【喵呜刷题小喵解析】题目要求找出与其他三项运行结果不同的选项。我们分别计算四个选项的值:A. sum([1,2,3],4) —— 这里的sum函数是用于计算列表中元素的和,但由于只有一个参数,且参数类型不正确(应该是一个可迭代的序列),因此会引发TypeError异常,而不是返回计算结果。B. sum([0,1,2],[3,2,2]) —— 这里的sum函数同样会引发TypeError异常,因为sum函数只接受一个可迭代的序列作为参数。C. sum([2,2,2],max(4,3,2)) —— sum函数仍然会引发TypeError异常,因为参数类型不正确。max函数会返回4,但由于sum函数不能处理两个参数,所以同样会引发异常。D. sum([0,3,4],int('3')) —— 这里sum函数同样会引发TypeError异常,但int('3')会成功将字符串'3'转换为整数3,所以不会引发异常。从上面的解析可以看出,只有D选项没有引发TypeError异常,而其他三个选项都引发了异常。因此,与其他三项运行结果不同的是D选项。

18、关于列表和元组的关系,下列描述不正确的是?

A、list() 函数可以将元组转换为列表

B、tuple()函数可以将列表转换为元组

C、元组和列表是非常类似的,它们可以通过类型转换函数进行互相转换

D、元组和列表本质上没有区别,只是元组是放在括号中,列表是放于方括号中而已

解析:【喵呜刷题小喵解析】:在Python中,元组和列表是两种不同的数据结构,它们有一些相似之处,但也有一些重要的区别。元组是不可变的,一旦创建就不能修改,而列表是可变的,可以添加、删除或修改其中的元素。因此,选项D的描述“元组和列表本质上没有区别”是不正确的。A选项是正确的,`list()`函数确实可以将元组转换为列表。B选项也是正确的,`tuple()`函数可以将列表转换为元组。C选项描述的是,虽然元组和列表有一些不同,但它们确实可以通过类型转换函数进行互相转换,这也是正确的。

19、当发生异常时,下列描述不正确的是?

A、我们需要捕获异常,然后进行相应的处理

B、我们需要把可能发生错误的语句放在try模块里

C、我们需要把处理异常的语句放在except模块里

D、我们需要为每一个try模块设定且只能设定一个except模块

解析:【喵呜刷题小喵解析】:当发生异常时,我们需要对异常进行处理。这通常是通过try-except语句来实现的。A选项表示我们需要捕获异常,然后进行相应的处理,这是正确的。B选项表示我们需要把可能发生错误的语句放在try模块里,这也是正确的。try模块中放置的是可能引发异常的代码。C选项表示我们需要把处理异常的语句放在except模块里,这也是正确的。except模块中放置的是处理异常的代码。D选项表示我们需要为每一个try模块设定且只能设定一个except模块,这是不正确的。实际上,我们可以为同一个try模块设定多个except模块,每个except模块处理不同类型的异常。因此,不正确的描述是D选项。

20、在Python中,int('10',2)语句的作用是?

A、将十进制数10转化为二进制数1010

B、将二进制数10转化为十进制整数

C、将字符串“10”转化为二进制整数

D、将字符串“10”转化为十进制整数

解析:【喵呜刷题小喵解析】在Python中,`int()`函数用于将字符串或数字转换为整数。当有两个参数时,第一个参数是要转换的字符串,第二个参数是字符串表示的数的基数。例如,`int('10', 2)`表示将字符串“10”从二进制数转换为十进制整数。因此,`int('10', 2)`的作用是将二进制数10转化为十进制整数。所以,正确答案是B。

21、以下描述中,错误的选项是?

A、在Python中,0b100010表示二进制数100010

B、Python中int('1a32',2)语句执行时将不能得到结果,会出现错误提示

C、Python中0o、0b、0x依次表示二进制、八进制、十六进制数的前缀

D、在Python中,运行hex(89)得到的结果是'0x59'

解析:【喵呜刷题小喵解析】:在Python中,0b100010表示二进制数100010,所以选项A描述正确。Python中int('1a32',2)语句执行时会将字符串'1a32'当作二进制数解析,因此可以得到结果,选项B描述错误。Python中0o、0b、0x依次表示八进制、二进制、十六进制数的前缀,所以选项C描述错误。在Python中,运行hex(89)得到的结果是'0x59',所以选项D描述正确。因此,错误的选项是C。

22、Python文件常用的写入方式有w和w+,它们的相同点是?

A、追加读

B、追加写

C、可读可写

D、文件不存在先创建,会覆盖原文件

解析:【喵呜刷题小喵解析】:在Python中,文件写入模式"w"和"w+"的相同点是,如果文件不存在,它们都会创建新文件。同时,如果文件已经存在,使用"w"模式会覆盖原文件,而使用"w+"模式也会在打开文件时覆盖原文件。因此,选项D“文件不存在先创建,会覆盖原文件”是正确的。而选项A“追加读”和选项B“追加写”都不是这两种模式的共同点,选项C“可读可写”虽然"w+"模式是可读可写的,但"w"模式并不是。

23、有如下程序段:输出结果是?

A、0,1,2,3,4

B、0,1,2,3,4,

C、1,2,3,4,5

D、1,2,3,4,5

解析:【喵呜刷题小喵解析】:题目中给出的程序段是一个包含四个列表的程序,其中A、B、C、D分别代表四个列表。A列表:[0,1,2,3,4]B列表:[0,1,2,3,4,] (注意末尾多了一个逗号)C列表:[1,2,3,4,5]D列表:[1,2,3,4,5]题目要求输出的是哪个列表与其他列表不同,根据观察,B列表的末尾多了一个逗号,而其他列表都没有这个多余的逗号,因此B列表与其他列表不同。所以,正确答案是B。

24、有如下列表l=[7,2,9,6,4,5],采用冒泡排序进行升序排序,请问第3趟排序之后的结果是?

A、[2,4,5,6,7,9]

B、[2,4,5,7,6,9]

C、[2,4,7,5,9,6]

D、[2,7,4,9,6,5]

解析:【喵呜刷题小喵解析】冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。根据题目要求,对列表l=[7,2,9,6,4,5]进行冒泡排序,第3趟排序后,结果应为[2,4,5,7,6,9]。所以正确答案为B。

25、有如下列表l=[7,6,3,8,4,1],采用选择排序进行升序排序,请问第3趟排序之后的结果是?

A、[1,3,4,6,7,8]

B、[1,3,6,8,4,7]

C、[1,6,3,8,4,7]

D、[1,3,4,8,6,7]

解析:【喵呜刷题小喵解析】选择排序的基本思想是每次从未排序部分找出最小(或最大)的元素,存放到排序序列的起始位置。根据这个思想,我们可以对列表l进行排序。第1趟排序:从列表l中找出最小的元素1,放到列表的起始位置,此时列表变为[1,7,6,3,8,4]。第2趟排序:从剩余未排序部分[7,6,3,8,4]中找出最小的元素3,放到已排序部分的后面,此时列表变为[1,3,7,6,8,4]。第3趟排序:从剩余未排序部分[7,6,8,4]中找出最小的元素4,放到已排序部分的后面,此时列表变为[1,3,4,7,6,8]。所以,第3趟排序之后的结果是[1,3,4,7,6,8],与选项D一致。

二、判断题

26、在Python中,0x100010表示十六进制数100010

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在Python中,0x开头的数字表示十六进制数。因此,0x100010确实表示十六进制数100010。所以,答案是A,表示正确。

27、在Python中,可以使用下面代码读取文件中的数据到列表 。

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在Python中,可以使用`with open()`语句打开文件,然后使用`readlines()`方法读取文件中的所有行,并将它们存储到一个列表中。因此,题目中的描述是正确的。

28、在Python中open('name.csv','r')命令的作用是以可写入的方式打开文件名为name的csv格式文件

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在Python中,`open('name.csv', 'r')`命令的作用是以只读的方式打开文件名为`name.csv`的文件,而不是以可写入的方式打开。因此,题目中的描述是错误的。所以,正确答案是B。

29、在Python中,print(abs(8-12)*3)的输出结果为-12

A 正确

B 错误

解析:【喵呜刷题小喵解析】:首先,我们要明确题目中给出的Python代码`print(abs(8-12)*3)`。1. `8-12` 的计算结果是 `-4`。2. `abs(-4)` 的计算结果是 `4`,因为 `abs` 函数返回的是绝对值。3. `4 * 3` 的计算结果是 `12`。4. 最后,`print(12)` 的输出结果是 `12`,而不是 `-12`。因此,`print(abs(8-12)*3)` 的输出结果为 `12`,而不是 `-12`。所以,题目的说法是错误的,答案应选B。

30、在Python中,divmod(98,8)的输出结果为(2,12)

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在Python中,`divmod(98, 8)`函数返回两个值,第一个值是商,第二个值是余数。对于`98`除以`8`,商是`12`,余数是`2`。因此,`divmod(98, 8)`的输出结果为`(12, 2)`,而不是`(2, 12)`。所以,题目的说法是错误的,答案为B。

31、在Python中,chr(ord('a')-32)语句能将小写字母a转换为大写字母A

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在Python中,`ord('a')`会返回小写字母'a'的ASCII码值,即97。然后,`ord('a')-32`会计算得到65,这是大写字母'A'的ASCII码值。最后,`chr(65)`会返回对应的大写字母'A'。因此,`chr(ord('a')-32)`确实能将小写字母'a'转换为大写字母'A'。所以,题目的说法是正确的。

32、在Python中,sorted()函数可以实现对列表中数据的排序,排序后原列表中数据的位置发生变化

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在Python中,`sorted()`函数可以实现对列表中数据的排序,但它返回的是一个新的排序列表,原列表中的数据位置并不会发生变化。因此,题目的说法是错误的。所以,正确答案是B。

33、bin函数可以将十进制数转换成二进制数。在Python交互式编程环境下,执行语句bin(15)后,显示的运行结果是'1111'

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在Python中,`bin()`函数将十进制数转换为二进制字符串表示形式,并且该字符串形式包含表示整数部分的"0b"前缀。所以,对于`bin(15)`,结果应为`0b1111`,而不是`1111`。因此,答案是B,即错误。

34、二维数据可以用二维列表表示,该列表的每一个元素对应二维数据的一行

A 正确

B 错误

解析:【喵呜刷题小喵解析】:二维数据可以用二维列表表示,二维列表的每一个元素对应二维数据的一行。因此,题目中的说法是正确的。

35、try...except结构的异常处理机制,当try代码段运行异常时,程序会跳到except代码段执行

A 正确

B 错误

解析:【喵呜刷题小喵解析】:在Python等编程语言中,try...except结构用于异常处理。当try代码段中的代码发生异常时,程序会跳过try代码段中剩余的代码,并跳转到相应的except代码段执行。因此,题目的说法是正确的。

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2021年12月Python三级理论答案及解析

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share