2021年9月Python编程等级考试三级真题解析
选择题(共25题,每题2分,共50分)
1、使用map函数可以实现列表数据元素类型的转换,而无需通过循环。则将列表L=['1','3','5','7','9']转换为列表[1,3,5,7,9]的函数写法为
A、map(int,L)
B、list(map(int,L))
C、map(L,int)
D、list(map(L,int))
答案:B
考点分析:考查map函数及强制转换,一个是map的参数为类型、序列。另外,map生成的对象不是列表,需要强制转换,答案B
2、以下关于len()函数的说法中错误的是
A、len()函数可以用于返回字符串中的字符数
B、len()函数可以用于返回列表中的元素个数
C、len("l love China”)的结果为10
D、len("l love China”)的结果为12
答案:C
考点分析:考查len函数是返回对象中的元素个数,空格也算一个字符,答案C
3、关于Python异常处理的解释,描述正确的是
A、一般情况下,在Python正常处理程序时也会发生一个异常
B、异常处理增加了程序代码长度,降低了可读性
C、在程序中加入异常处理会使程序出现错误
D、当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行
答案:D
考点分析:考查异常处理,当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行,答案D
4、Python文件常用的写入方式有w+和a+,它们的相同点是
A、覆盖写
B、追加写
C、若文件不存在就创建
D、每次写的时候会自动覆盖上一次的内容
答案:C
考点分析:考查文件读写知识,w+模式可读可写,若文件不存在就创建a+模式可读可写,若文件不存在就创建;答案C
5、Python标准库math中用来计算平方根的函数是
A、sqrt
B、max
C、min
D、print
答案:A
考点分析:考查math函数的使用,四个选项分别是:算术平方根、最大值、最小值、输出,答案A
本文作者:小兔子编程 作者首页:https://blog.csdn.net/frank2102
6、某同学上完体育课回教室发现丢失了重要的物品,于是他找到班主任求助。班主任打开视频监控,然后把视频进度拖到这节课中间时间点,发现水杯已经丢了,于是判定是前半节课丢的。接着又把视频进度拖到前面一半的一半.….重复以上过程,很快就锁定了物品丢失的真相。以上描述,体现出了哪一种算法思想
A、二分法
B、选择排序法
C、递归法
D、迭代法
答案:A
考点分析:考查查找方法,二分法基本思想是将数组一分为二,然后判断目标值与中间元素的大小关系。如果目标值大于中间元素,则目标值在数组的后半部分;如果目标值小于中间元素,则目标值在数组的前半部分;如果目标值等于中间元素,则找到目标值。答案A
7、去掉列表中的部分数据,例如去掉列表[1,2,3,4,5,6,7,8,9]中3的倍数,可以使用哪一函数来实现
A、map
B、filter
C、zip
D、enumerate
答案:B
考点分析:考查函数的使用,过滤函数使用filter,map是按一定规则得到一个新序列,zip是组合序列,enumerate是为序列添加索。答案B
8、定义一个列表 num=list(range(3,6)) print(num)输出的结果是?
A、[0,1,2,3]
B、[0,1,2,3,4,5,6]
C、[3,4,5]
D、[3,4,5,6]
答案:C
考点分析:考查range函数,range函数两个参数,不包括右边的数字,答案C
9、print(divmod(34,8))运行结果是
A、4 2
B、4
C、2
D、2 4
答案:A
考点分析:考查divmod函数的用法,divmod函数是Python中的一个内置函数,用于同时返回除法运算的商和余数,答案A
10、八进制10的十进制值是
A、8
B、10
C、20
D、24
答案:A
考点分析:考查进制转换,八进制转十进制规则:将八进制数的每一位数按照权重乘以8的幂,从右往左依次递增,权重从0开始。 将每位上的乘积相加,得到最终的十进制数。答案A
11、a=3.1415926,round(a,2),运行结果是?
A、3
B、3.14
C、3.141
D、3.1415926
答案:B
考点分析:考查round函数,round是保留两位小数,答案B
12、Python内置函数()用来返回序列中的最小元素
A、mini
B、read
C、max
D、min
答案:D
考点分析:考查函数相关知识,mini写错,read读文件,max最大值,min最小值,答案D
13、下面表达式的运行结果与print(divmod(37,9))运行结果相同的是
A、print(37%9,37//9)
B、print((37%9,37//9))
C、print(37//9,37%9)
D、print((37//9,37%9))
答案:D
考点分析:考查divmod是返回两个数的商和余数,而且输出的是元祖,答案D
14、已知输入变量x='hello world',调用函数x.replace('l','h')的结果为
A、‘hello world’
B、'lello world'
C、'hello worhd'
D、'hehho worhd'
答案:D
考点分析:考查replace用法,replace函数用于替换字符串中的指定字符或子字符串,第一个参数是旧的字符,第二个参数是新的字符,答案D
15、下列十六进制数中,转换为二进制数后含有偶数个“1”的是
A、0xF8
B、0xE0
C、0xA9
D、0x15
答案:C
考点分析:考查进制转换,四个选项对应的二进制分比为:11111000、11100000、10101001、10101,答案C
本文作者:小兔子编程 作者首页:https://blog.csdn.net/frank2102
16、以下表达式是十六进制整数的选项是
A、16
B、0b16
C、0x16
D、'0x16'
答案:C
考点分析:考查进制相关知识,0b开头的是二进制,0x开头的是十六进制,答案C
17、给已有文件“实验中学学生花名册.txt”增加两名学生,而且不能覆盖原有的内容,下面代码正确的是
A、
flename=“实验中学学生花名册.txt”
with open(filename,"w") as f:
f.write("黎明\n")
f.write("方芳\n")
B、
flename=“实验中学学生花名册.txt”
with open(filename,"r") as f:
f.write("黎明\n")
f.write("方芳\n")
C、
flename=“实验中学学生花名册.txt”
with open(filename,"r+") as f:
f.write("黎明\n")
f.write("方芳\n")
D、
flename=“实验中学学生花名册.txt”
with open(filename,"w+") as f:
f.write("黎明\n")
f.write("方芳\n")
答案:D
考点分析:考查文件读写,题目要求增加两名学生到文件里面,所以应该用写也就是w,但是不能覆盖原有内容,所以只能用w+,答案D
18、以下关于二进制整数的定义,正确的是
A、0B1014
B、0b1010
C、0b1019
D、0bC3F
答案:B
考点分析:考查进制相关知识,二进制整数以0b或0B开头,后面跟二进制数0和1,答案B
19、设s="happy time",那么print(s[-2:])的结果是
A、me
B、happy
C、time
D、ha
答案:A
考点分析:考查字符串切片,切片的起始为是值-2也就是倒数第二个字符,一直到结束,所以答案A
20、以下程序执行程序后,"中国诗人.txt"文件内容为
flename=“中国诗人.txt”
with open(filename,"w") as f:
f.write("唐 李白\n")
f.write("唐 白居易\n")
A、唐 李白 唐 白居易
B、唐 李白
唐 白居易
C、唐 李白\n 唐 白居易
D、唐 李白\n 唐 白居易\n
答案:B
考点分析:考查文件相关操作,\n是换行符,所以会换行,答案B
21、ord()函数可以将一个字符转化成ascii码值,而chr函数则是相反的过程已知'a'的ascii码值为97,"A"的ascii码值为65,则Python完成小写转大写的核心代码为:
a=input("请输入一个小写字母:\n")
b=_________
print("转化结果为:"+b)
A、chr(ord(a)-31)
B、ord(chr(a)-32)
C、chr(ord(a)+32)
D、chr(ord(a)-32)
答案:D
考点分析:考查字符和ASCII码值相关转换,题目最后要的是小写字母转成大写字母,所以用chr函数,既然最终是个字符,显示到字符串中,而小写和大写字母之间相差的是97-65=32,所以答案D
22、关于文件的读写,下列解释表述错误的是
A、读取模式('r')
B、写入模式('w')
C、读写模式('w')
D、附加模式('a' )
答案:C
考点分析:考查文件读写相关知识,读写模式应该是加号(+),可以添加在r和w后,答案C
23、小明编写了一个插入排序的算法,为列表arr=[5,33,21,67,39,73,7,43]中的数值进行排序,他在调试时,循环3次后print(arr)打印出的结果是
A、[5,33,21,67,39,73,7,43]
B、[5,21,33,67,39,73,7,43]
C、[5,21,33,39,67,7,73,43]
D、[5,21,33,67,39,73,7,43]
答案:D
考点分析:考查插入排序,插入排序是一种简单直观的排序算法,它的基本思想是将数组分为已排序和未排序两部分,每次从未排序部分取出一个元素,插入到已排序部分的合适位置,直到所有元素都被插入完成。因为只循环了3次,所以只对前4个数字进行了排序,答案D
24、异常处理的作用是不想让程序终止,如果出错了需要特殊处理。下列实现异常处理的语句是
A、if/else
B、try/except
C、Warning
D、Error
答案:B
考点分析:考查异常处理,异常处理使用的就是try/except,答案B
25、小明想对列表arr = [5,33,21,67,39,73,7,43 ]中的数值进行排序,于是编写了“冒泡排序"代码,如下图请问,下图红线处,应该填入哪段代码
A、arr[j]>arr[i+1]
B、arr[i]>arr[j+1]
C、arr[i]>arr[i+1]
D、arr[j]>arr[j+1]
答案:D
考点分析:考查冒泡排序,冒泡排序是一种简单的排序算法,它重复地遍历要排序的数组,比较相邻的元素并进行交换,直到没有需要交换的元素为止。答案D