2021年12月Python编程等级考试三级真题解析
选择题(共25题,每题2分,共50分)
1、小明在学习计算机时,学习到了一个十六进制数101,这个十六进制数对应的十进制数的数值是
A、65
B、66
C、256
D、257
答案:D
考点分析:考查进制转换相关知识,一位十六进制对应四位二进制,从右往左,不够补零,对应的二进制就是:100000001,得到的十进制就是257;也可以直接用位置上的数乘以16的n-1次方(从右往左第一个是0、依次加1),得到的就是:1*16^2+0*16^1+1*16^0=256+0+1=257;答案D
2、csv文件中读入数据的程序段如下,与划线处同等功能的语句代码是
f=open("city.csv" "r")
ls=[]
for line in f:
ls.append(line.strip("\n").split(","))
f.close()
print(ls)
A、line.pop("\n")
B、line.del("\n")
C、line.remove("\n")
D、line.replace("\n","")
答案:D
考点分析:考查综合能力,划线语句实现的功能是去掉换行符,然后每行都拼接在一起,所以等同的语句为D选项
3、下列表达式的结果与其他三项不相同的是
A、abs(-4)
B、round(abs(-3.5))
C、abs(round(-3.5))
D、min(round(-3.5),round(3.8))
答案:D
考点分析:考查abs函数和round函数的使用,abs是返回绝对值,round是四舍五入;D选项round(-3.5)对-3.5进行四舍五入,结果为-3,而round(3.8)对3.8进行四舍五入,结果为4,再取-3和4中的最小值,结果为-3,答案D
4、表达式max([111,22,3],key=str)的值为
A、3
B、111
C、“3”
D、“111”
答案:D
考点分析:考查max函数的使用,因为在这个表达式中,key参数指定的是一个函数,用来指定比较元素的依据。在这里,key=str表示比较元素时将其转换为字符串再进行比较。所以,比较的结果是"111"、"22"、"3",最大的元素是"3",答案D
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])
答案:B
考点分析:考查元组相关知识,A选项省略了小括号,C选项本身就是元组,D选项是将列表转换为元组;B选项是字典,元素就2个,所以没办法转为元组,答案B
本文作者:小兔子编程 作者首页:https://blog.csdn.net/frank2102
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')
答案:B
考点分析:考查文件相关操作,w是打开并写入操作,w-没有这个参数,答案B
7、关于十进制数,下列说法错误的是
A、十进制数的基数为10,所以从小数点向左数第二位的权值是10的2次幂
B、十进制数的基数为10,所以里面包括0,1,2..,9这十个数码
C、十进制数的基本运算规则满足“逢十进一”,所以有时我们可以采用凑十法来进行简便运算
D、十进制数是有符号的,如-18
答案:A
考点分析:考查十进制数相关知识,小数点向左数第二位的权值是10的1次幂,答案A
8、关于Python的序列描述,不正确的是
A、序列是Python中最基本的数据结构
B、最常见的序列是列表和元组
C、序列中表示元素位置的数字叫做索引,索引都是正整数
D、Python内置了求序列长度的函数
答案:C
考点分析:考查序列相关知识,索引从左往右都是正数,从右往左就是负数,答案C
9、关于元组,描述不正确的是
A、元组是用括号把元素括在一起的,元素之间是用逗号分隔的
B、元组可以为空,写做tup1=()
C、元组中可以只有一个元素,写做tup1=(3)
D、元组中的元素可以具有不同的类型
答案:C
考点分析:考查元组相关知识,元组里面如果只有一个元素,也需要在后面加上逗号,答案C
10、以下程序的输出结果是
x = 2
y = 0
try:z = x / yprint(z)
except ZeroDivisionError:print('error')
A、z
B、2.0
C、error
D、没有输出
答案:C
考点分析:考查综合知识,y的值是0,程序里面y作为除数,所以会引发异常,0不能作为除数,所以答案C
11、排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。下列排序算法中效率最高的是
A、冒泡排序
B、选择排序
C、插入排序
D、快速排序
答案:D
考点分析:考查排序算法相关知识,快速排序采用分治的思想,将原序列分成两个子序列,再对子序列进行排序,直到子序列长度为1或0。快速排序的平均时间复杂度为O(nlogn),而冒泡排序、选择排序和插入排序的平均时间复杂度分别为O(n^2),O(n^2)和O(n^2)。所以快速排序是效率最高的排序算法;答案D
12、bool()函数根据传入的参数的逻辑值创建一个新的布尔值,下列返回值是False的是
A、bool(2*3-0)
B、bool(2*3-2)
C、bool(2*3-3)
D、bool(2*3-6)
答案:D
考点分析:考查bool函数,bool函数和整数类型转换,非0为真True,0为假False;答案D
13、下列函数能创建一个新的元组的是
A、tuple()
B、list()
C、dict()
D、set()
答案:A
考点分析:考查元组相关知识,tuple是元组,list是列表,dict是字典,set是集合;答案A
14、ascii()返回一个表示对象的字符串,则asci(1)的结果是
A、1
B、'1'
C、'''1'''
D、'''\u4e2d\u6587"'
答案:A
考点分析:考查ascii函数,ascii()函数返回一个用于表示对象的字符串。如果参数是一个整数,则返回对应的ASCII字符。因此,ascii(1)的结果是'1'。因为ASCII码中,数字1对应的字符就是'1';答案A
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='+','=?')
答案:C
考点分析:考查print输出函数,AD选项会报错,B选项输出的是6=?,答案C
本文作者:小兔子编程 作者首页:https://blog.csdn.net/frank2102
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
考点分析:考查相关函数的使用,print(min(float(a),7,6))是语法正确的。这是因为float()函数可以将字符串转换为浮点数,而min()函数可以接受多个参数并返回其中最小的一个。所以代码中的float(a)将字符串'12345'转换为浮点数,并且返回值为7和6中最小的一个,然后通过print()函数将结果打印出来;chr、bin和hex接受的参数都应该是整数,答案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'))
答案:B
考点分析:考查sum函数,因为sum函数的第一个参数必须是可迭代对象,而B选项的第一个参数是一个列表,而第二个参数是另一个列表,不符合sum函数的要求。其他选项都符合sum函数的参数要求,可以正常执行,答案B
18、关于列表和元组的关系,下列描述不正确的是
A、list()函数可以将元组转换为列表
B、tuple()函数可以将列表转换为元组
C、元组和列表是非常类似的,它们可以通过类型转换函数进行互相转换
D、元组和列表本质上没有区别,只是元组是放在括号中,列表是放于方括号中而已
答案:D
考点分析:考查元组和列表相关知识,元组和列表虽然可以相互转换,但是元组是不可变的,而列表是可变的。这意味着一旦创建了一个元组,就不能修改它的值,而列表可以随意修改;所以还是有本质区别,答案D
19、当发生异常时,下列描述不正确的是
A、我们需要捕获异常,然后进行相应的处理
B、我们需要把可能发生错误的语句放在try模块里
C、我们需要把处理异常的语句放在except模块里
D、我们需要为每一个try模块设定且只能设定一个except模块
答案:D
考点分析:考查异常处理,每一个try模块可以设置一个或者多个except模块,答案D
20、在Python中,int('10',2)语句的作用是
A、将十进制数10转化为二进制数1010
B、将二进制数10转化为十进制整数
C、将字符串“10”转化为二进制整数
D、将字符串“10”转化为十进制整数
答案:B
考点分析:考查int函数,int函数带两个参数的,第二个参数是对应的进制,第一个参数是该进制对应的值,int是将对象转换成十进制整数;答案B
21、以下描述中,错误的选项是
A、在Python中,0b100010表示二进制数100010
B、Python中int('1a32',2)语句执行时将不能得到结果,会出现错误提示
C、Python中0o、0b、0x依次表示二进制、八进制、十六进制数的前缀
D、在Python中,运行hex(89)得到的结果是'0x59'
答案:C
考点分析:考查进制相关知识,0o是八进制,0b是二进制,0x是十六进制,答案C
22、Python文件常用的写入方式有w和w+,它们的相同点是
A、追加读
B、追加写
C、可读可写
D、文件不存在先创建,会覆盖原文件
答案:D
考点分析:考查文件写入方式,w和w+都可以用于创建新文件或覆盖已存在的文件;不同的在于w模式:只能进行写操作,不能进行读操作。如果文件不存在,会自动创建一个新文件;如果文件已存在,会清空文件内容并重新写入。w+模式:既可以进行写操作,也可以进行读操作。如果文件不存在,会自动创建一个新文件;如果文件已存在,会清空文件内容并重新写入。支持读取文件内容,可以使用seek()函数将文件指针移动到任意位置。答案D
23、有如下程序段,输出结果是
for i in range(5):
print(i,end=',')
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
考点分析:考查for循环,自变量i的下标是从0开始,不包括range里面的数字,排除CD,而输出语句里面是每输出一个i的值,都会在后面加上一个逗号;所以答案B
24、有如下列表|=[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]
答案:B
考点分析:考查冒泡排序,冒泡排序是一种简单的排序算法。它重复地遍历要排序的列表,一次比较两个元素,并按照升序或降序交换它们。重复这个过程,直到整个列表排序完成。
第一趟排序:2,7,6,4,5,9
第二趟排序:2,6,4,5,7,9
第三趟排序:2,4,5,6,7,9
25、有如下列表|=[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]
答案:D
考点分析:考查选择排序,选择排序是从未排序的部分中找到最小的元素。 将找到的最小元素与未排序部分的第一个元素交换位置,将其放到已排序的部分的末尾。 在剩余的未排序部分中,继续重复步骤1和步骤2,直到所有元素都已排序。
第一趟排序:1,6,3,8,4,7
第二趟排序:1,3,6,8,4,7
第三趟排序:1,3,4,8,6,7
推荐资料
- 所有考级比赛学习相关资料合集【推荐收藏】
1、蓝桥杯比赛
-
蓝桥杯python选拔赛真题详解
-
蓝桥杯python省赛真题详解
-
蓝桥杯python国赛真题详解
-
历届蓝桥杯科技素养计算思维真题解析
2、考级资料
-
python等级一级真题解析【电子学会】
-
python等级二级真题解析【电子学会】
-
python等级三级真题解析【电子学会】
-
python等级四级真题解析【电子学会】
3、其它资料
-
初学python100例
- 历届蓝桥杯scratch国赛真题解析
- 历届蓝桥杯scratch省赛真题解析
- 历届蓝桥杯scratch STEMA选拔赛真题解析
- 历届蓝桥杯科技素养计算思维真题解析
- 画图-scratch编程考级99图
- 电子学会历年scratch等级考试一级真题解析
- 电子学会历年scratch等级考试二级真题解析
- 电子学会历年scratch等级考试三级真题解析
- 电子学会历年scratch等级考试四级真题解析
- 零基础学习scratch3.0【入门教学 免费】
- 零基础学习scratch3.0【视频教程 114节 免费】