内容正文:
2021.09青少年软件编程(Python)等级考试试卷(三级)
分数:100 题数:38
一、单选题(共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))
试题编号:20210208-psk-3
试题类型:单选题
标准答案:B
试题难度:较难
试题解析:注意两个点,一个是map的参数为类型、序列。另外,map生成的对象不是列表,需要强制转换。
2. 以下关于len()函数的说法中错误的是?( )
A. len()函数可以用于返回字符串中的字符数
B. len()函数可以用于返回列表中的元素个数
C. len("I love China" )的结果为10
D. len("I love China" )的结果为12
试题编号:20210208-psk-8
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:len("I love China" )的结果为12,所以C项错误。空格也要统计入内。
3. 关于Python异常处理的解释,描述正确的是?( )
A. 一般情况下,在Python正常处理程序时也会发生一个异常
B. 异常处理增加了程序代码长度,降低了可读性
C. 在程序中加入异常处理会使程序出现错误
D. 当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行
试题编号:20210123-xb-04
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
4. Python文件常用的写入方式有w+和a+,它们的相同点是?( )
A. 覆盖写
B. 追加写
C. 若文件不存在就创建
D. 每次写的时候会自动覆盖上一次的内容
试题编号:20210131-qdc-08
试题类型:单选题
标准答案:C
试题难度:容易
试题解析:w+模式可读可写,若文件不存在就创建 a+模式可读可写,若文件不存在就创建
5. Python标准库math中用来计算平方根的函数是?( )
A. sqrt
B. max
C. min
D. print
试题编号:20210129-slf-18
试题类型:单选题
标准答案:A
试题难度:一般
试题解析:本题主要是一些常用函数的功能考查,要求了解常用函数的功能
6. 某同学上完体育课回教室发现丢失了重要的物品,于是他找到班主任求助。班主任打开视频监控,然后把视频进度拖到这节课中间时间点,发现水杯已经丢了,于是判定是前半节课丢的。接着又把视频进度拖到前面一半的一半……重复以上过程,很快就锁定了物品丢失的真相。以上描述,体现出了哪一种算法思想?( )
A. 二分法
B. 选择排序法
C. 递归法
D. 迭代法
试题编号:20210209-psk-3
试题类型:单选题
标准答案:A
试题难度:一般
试题解析:
7. 去掉列表中的部分数据,例如去掉列表[1,2,3,4,5,6,7,8,9]中3的倍数,可以使用哪一函数来实现?( )
A. map
B. filter
C. zip
D. enumerate
试题编号:20210208-psk-4
试题类型:单选题
标准答案:B
试题难度:一般
试题解析:过滤函数使用filter,map是按一定规则得到一个新序列,zip是组合序列,enumerate是为序列添加索引。
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]
试题编号:20210131-qdc-10
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:range(3,6) 对应(3,4,5),转换为列表后,输出结果为[3,4,5]
9. print(divmod(34,8))运行结果是?( )
A. 4 2
B. 4
C. 2
D. 2 4
试题编号:20210129-slf-20
试题类型:单选题
标准答案:A
试题难度:一般
试题解析:学习divmod函数的用法
10. 八进制10的十进制值是?( )
A. 8
B. 10
C. 20
D. 24
试题编号:20210204-jinwanlian-02
试题类型:单选题
标准答案:A
试题难度:一般
试题解析:八进制10的十进制值是为8,故选A
11. a=3.1415926
round(a,2)
运行结果是?( )
A. 3
B. 3.14
C. 3.141
D. 3.1415926
试题编号:20210124-xb-18
试题类型:单选题
标准答案:B
试题难度:较难
试题解析:保留2位小数。
12. Python内置函数( )用来返回序列中的最小元素?( )
A. mini()
B. read()
C. max()
D. min()
试题编号:20210129-slf-21
试题类型:单选题
标准答案:D
试题难度:容易
试题解析:返回最小值的是min()函数
考生答案:D
考生得分:2
是否评分:已评分
评价描述:
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))
试题编号:20210208-psk-10
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:首先要打印一个元组,print内部应该还有一个括号,另求商使用//,所以为print((37//9,37%9))
14. 已知输入变量x = 'hello world', 调用函数x.replace('l', 'h')的结果为?( )
A. 'hello world'
B. 'lello world'
C.'hello worhd'
D.'hehho worhd'
试题编号:20210129-slf-22
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:学习函数x.replace(),用l来替换h的用法
15.下列十六进制数中,转换为二进制数后含有偶数个“1”的是?()
A.0xF8
B.0xE0
C.0xA9
D.0x15
试题编号:20210207-jinxing-01
试题类型:单选题
标准答案:C
试题难度:较难
试题解析:将十六进制转换二进制,对1的个数进行统计。
16.以下表达式是十六进制整数的选项是?()
A.16
B.0b16
C.0x16
D.'0x16'
试题编号:20210204-jinwanlian-04
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:python中用0x表示16进制,D为字符。故选C
17.给已有文件“实验中学学生花名册.txt”增加两名学生,而且不能覆盖原有的内容。下面代码正确的是?()
A.filename="实验中学学生花名册.txt"
with open(filename,"w") as f:
f.write("黎明
")
f.write("方芳
")
B.filename="实验中学学生花名册.txt"
with open(filename,"r") as f:
f.write("黎明
")
f.write("方芳
")
C.filename="实验中学学生花名册.txt"
with open(filename,"r+") as f:
f.write("黎明
")
f.write("方芳
")
D.filename="实验中学学生花名册.txt"
with open(filename,"a") as f:
f.write("黎明
")
f.write("方芳
")
试题编号:20210124-zm-09
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:
18.以下关于二进制整数的定义,正确的是?()
A.0B1014
B.0b1010
C.0b1019
D.0bC3F
试题编号:20210207-jinxing-04
试题类型:单选题
标准答案:B
试题难度:一般
试题解析:二进制整数以Ob或OB开头,后面跟二进制数0和1。A、C、D三项中有4、9、C、3、F,这些都不是二进制数。
19.设s="happy time",那么print(s[-2:])的结果是?()
A.me
B.happy
C.time
D.ha
试题编号:20210129-slf-24
试题类型:单选题
标准答案:A
试题难度:容易
试题解析:本试题主要考查print函数的用法
20.filename = "中国诗人.txt"
with open(filename,"w") as file:
file.write("唐李白
")
file.write("唐白居易
")
以上程序执行程序后,"中国诗人.txt"文件内容为?()
A.唐李白唐白居易
B.唐李白
唐白居易
C.唐李白
唐白居易
D.唐李白
唐白居易
试题编号:20210124-zm-08
试题类型:单选题
标准答案:B
试题难度:一般
试题解析:
21.
ord()函数可以将一个字符转化成ascii码值,而chr函数则是相反的过程。已知'a'的ascii码值为97,'A'的ascii码值为65,则Python完成小写转大写的核心代码为?()
a=input("请输入一个小写字母:
")
b=________________
print("转化结果为:"+b)
A.chr(ord(a)-31)
B.ord(chr(a)-32)
C.chr(ord(a)+32)
D.chr(ord(a)-32)
试题编号:20210208-psk-2
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:这个题目从函数角度其实考查的是chr函数的使用,既然最终是个字符,显示到字符串中,肯定是使用chr。至于加减,题中给出的码值差,已经很明显。故选D。
22.关于文件的读写,下列解释表述错误的是?()
A.读取模式('r')
B.写入模式('w')
C.读写模式('w')
D.附加模式('a')
试题编号:20210124-zm-07
试题类型:单选题
标准答案:C
试题难度:一般
试题解析:
23.
小明编写了一个插入排序的算法,为列表arr = [5, 33, 21, 67, 39, 73, 7, 43 ]中的数值进行排序,他在调试时,如下图所示有意修改了循环的次数,请问,现在代码运行后print(arr)打印出的结果是?()
A.[5, 33, 21, 67, 39, 73, 7, 43]
B.[5, 21, 33, 67, 39, 43, 7, 73]
C.[5, 21, 33, 39, 67, 7, 73, 43]
D.[5, 21, 33, 67, 39, 73, 7, 43]
试题编号:20210209-ll-29
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:本题考查学生对“插入排序”算法的理解,只循环了3次,所以正确答案是选项D
24.异常处理的作用是不想让程序终止,如果出错了需要特殊处理。下列实现异常处理的语句是?()
A.if /else
B.try/except
C.Warning
D.Error
试题编号:20210131-qdc-15
试题类型:单选题
标准答案:B
试题难度:容易
试题解析:python中,try/except语句可以实现异常处理
25.
小明想对列表arr = [5, 33, 21, 67, 39, 73, 7, 43 ]中的数值进行排序,于是编写了“冒泡排序”代码,如下图。
请问,下图红线处,应该填入哪段代码?()
A.
B.
C.
D.
试题编号:20210209-ll-35
试题类型:单选题
标准答案:D
试题难度:一般
试题解析:本题考查学生对冒泡排序算法的理解,正确答案为选项D
二、判断题(共10题,每题2分,共20分)
26.readline()执行结果为字符串,readlines()执行结果为列表。
正确错误
试题编号:20210124-zm-14
试题类型:判断题
标准答案:正确
试题难度:一般
试题解析:
27.猜一个20以内的随机数二分法比顺序查找的效率更高。
正确错误
试题编号:20200129-slf-33
试题类型:判断题
标准答案:正确
试题难度:一般
试题解析:本题主要考查二分法的用法
28.Python中避免使用反斜线'\'指定文件路径时出错,如\t;常常使用斜线'/'或者双反斜线'\\'。
正确错误
试题编号:20210124-zm-13
试题类型:判断题
标准答案:正确
试题难度:一般
试题解析:
29.bool函数判断整数参数的布尔值时,只要是非0参数,结果就为True。
正确错误
试题编号:20210208-psk-14
试题类型:判断题
标准答案:正确
试题难度:容易
试题解析:
30.二进制数转换为十六进制的方法是:从右到左将4位分成一段,左边不满4位的可以用0补满,分别转换为十六进制。
正确错误
试题编号:20210204-jinwanlian-27
试题类型:判断题
标准答案:正确
试题难度:一般
试题解析:四位二进制表示一位十六进制
31.Python中的dir函数是一个文件夹操作函数,其主要作用是创建一个文件夹。
正确错误
试题编号:20210208-psk-15
试题类型:判断题
标准答案:错误
试题难度:较难
试题解析:dir是查看对象的方法。
32.二进制数与十六进制数的末位是“1”,各转换为十进制数后都是奇数。
正确错误
试题编号:20210207-jinxing-06
试题类型:判断题
标准答案:正确
试题难度:一般
试题解析:二进制、八进制、十六进制末位数决定该数奇偶
33.在try-finally异常处理结构中,无论是否发生异常,都会处理最后的代码。
正确错误
试题编号:20210123-xb-05
试题类型:判断题
标准答案:正确
试题难度:一般
试题解析:try-finally语句无论是否发生异常都将执行最后的代码。
34.song.csv文件中第一列是歌曲名,使用以下Python程序可以把歌曲名单一一读取出来。
import csv
with open('song.csv', 'r') as f:
reader = csv.reader(f)
for i in reader:
print(i[0])
正确错误
试题编号:20210131-qdc-12
试题类型:判断题
标准答案:正确
试题难度:较难
试题解析:通过文件的方式读取数据,再依次将读取的数据输出,注意输出只需要歌曲名单,即第一列i[0]
35.执行代码x, y, z = sorted([1, 3, 2])之后,变量y的值为1。
正确错误
试题编号:20210129-slf-36
试题类型:判断题
标准答案:错误
试题难度:一般
试题解析:本题的主要考核sorted函数的用法
三、编程题(共3题,共30分)
36.
输入10个数据进行升序排序,并在这有序数据上插入一个数据,使之仍然有序。
程序代码如下,请补全。
lis=[]
for i in range(10):
x=int(input('输入待排序数据%d:'%(i)))
lis.append(x)
for i in range(①):
for j in range(i,len(lis)):
if②:
lis[i],lis[j]=lis[j],lis[i]
print(lis)
n=int(input('输入一个需要插入的数据:'))
lis.append(n)
for i in range(③):
if④:
for j in range(i,len(lis)):
lis[j],lis[-1]=⑤
break
print(lis)
试题编号:20210207-jinxing-39
试题类型:编程题
标准答案:
参考答案:
①len(lis)-1 (或len(lis))(3分)
②lis[i]>lis[j](4分)
③len(lis)-1(3分)
④lis[i]>=n(2分)
⑤lis[-1],lis[j](4分)
试题难度:一般
试题解析:lis=[]
for i in range(10):
x=int(input('输入待排序数据%d:'%(i)))
lis.append(x)
for i in range(len(lis)-1):
for j in range(i,len(lis)):
if lis[i]>lis[j]:
lis[i],lis[j]=lis[j],lis[i]
print(lis)
n=int(input('输入一个需要插入的数据:'))
lis.append(n)
for i in range(len(lis)-1):
if lis[i]>=n:
for j in range(i,len(lis)):
lis[j],lis[-1]=lis[-1],lis[j]
break
print(lis)
37.
小文的运动时间数据存储在文件“sport.csv”中,数据内容如下图显示:
下列代码实现了读取数据,求和并统计个数,输出平均时长,并保留2位小数,请你补全代码。
import csv
with open("/data/①") as f:
rows = list(csv.reader(f))
s=0
c=0
for row in rows[1:]:
s+=int(②)
c=c+1
print(round(③,2))
试题编号:20210204-jinwanlian-36
试题类型:编程题
标准答案:
参考答案:
①sport.csv(1分)
②row[0](2分)
③s/c(1分)
试题难度:一般
试题解析:import csv
with open("sport.csv") as f:
rows = list(csv.reader(f))
s=0
c=0
for row in rows[1:]:
s+=int(row[0])
c=c+1
print(round(s/c,2))
展示地址:点击浏览
38.给定一个整数num,从1到num按照下面的规则返回每个数:
如果这个数被3整除,返回'Apple'。
如果这个数被5整除,返回'Pie'。
如果这个数能同时被3和5整除,返回'ApplePie'。
如果这个数既不能被3也不能被5整除,返回这个数字的字符串格式。
n=int(input("请输入一个数字:"))
results=[]
for i in range(1,①):
if②:
results.append("ApplePie")
elif i%3==0:
results.append("Apple")
elif i%5==0:
results.append("Pie")
else:
results.append(③)
print(results)
试题编号:20210130-jinwanlian-37
试题类型:编程题
标准答案:
参考答案:
①n+1(3分)
②i%3==0 and i%5==0(4分)
③str(i)(3分)
试题难度:一般
试题解析:n=int(input("请输入一个数字:"))
results=[]
for i in range(1,n+1):
if i%3==0 and i%5==0:
results.append("ApplePie")
elif i%3==0:
results.append("Apple")
elif i%5==0:
results.append("Pie")
else:
results.append(str(i))
print(results)
学科网(北京)股份有限公司
$$