青少年软件编程(Python三级)等级考试试卷(2021年9月)

2023年05月26日

选择题

第 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))

第 2 题 单选题

以下关于len()函数的说法中错误的是?( )

A.len()函数可以用于返回字符串中的字符数

B.len()函数可以用于返回列表中的元素个数

C.len("I love China" )的结果为10

D.len("I love China" )的结果为12

第 3 题 单选题

关于Python异常处理的解释,描述正确的是?( )

A.一般情况下,在Python正常处理程序时也会发生一个异常

B.异常处理增加了程序代码长度,降低了可读性

C.在程序中加入异常处理会使程序出现错误

D.当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行

第 4 题 单选题

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

A.覆盖写

B.追加写

C.若文件不存在就创建

D.每次写的时候会自动覆盖上一次的内容

第 5 题 单选题

Python标准库math中用来计算平方根的函数是?( )

A.sqrt

B.max

C.min

D.print

第 6 题 单选题

某同学上完体育课回教室发现丢失了重要的物品,于是他找到班主任求助。班主任打开视频监控,然后把视频进度拖到这节课中间时间点,发现水杯已经丢了,于是判定是前半节课丢的。接着又把视频进度拖到前面一半的一半……重复以上过程,很快就锁定了物品丢失的真相。以上描述,体现出了哪一种算法思想?( )

A.二分法

B.选择排序法

C.递归法

D.迭代法

第 7 题 单选题

去掉列表中的部分数据,例如去掉列表[1,2,3,4,5,6,7,8,9]中3的倍数,可以使用哪一函数来实现?( )

A.map

B.filter

C.zip

D.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]

第 9 题 单选题

print(divmod(34,8))运行结果是?( )

A.4 2

B.4

C.2

D.2 4

第 10 题 单选题

八进制10的十进制值是?( )

A.8

B.10

C.20

D.24

第 11 题 单选题

a=3.1415926

round(a,2)

运行结果是?( )

A.3

B.3.14

C.3.141

D.3.1415926

第 12 题 单选题

Python内置函数( )用来返回序列中的最小元素?( )

A.mini()

B.read()

C.max()

D.min()

第 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))

第 14 题 单选题

已知输入变量x = 'hello world', 调用函数x.replace('l', 'h')的结果为?( )

A.'hello world'

B.'lello world'

C.'hello worhd'

D.'hehho worhd'

第 15 题 单选题

下列十六进制数中,转换为二进制数后含有偶数个“1”的是?( )

A.0xF8

B.0xE0

C.0xA9

D.0x15

第 16 题 单选题

以下表达式是十六进制整数的选项是?( )

A.16

B.0b16

C.0x16

D.'0x16'

第 17 题 单选题

给已有文件“实验中学学生花名册.txt”增加两名学生,而且不能覆盖原有的内容。

下面代码正确的是?( )

A.

filename="实验中学学生花名册.txt" 
with open(filename,"w") as f:
	f.write("黎明\n")
	f.write("方芳\n")

B.

filename="实验中学学生花名册.txt" 
with open(filename,"r") as f:
	f.write("黎明\n")
	f.write("方芳\n")

C.

filename="实验中学学生花名册.txt" 
with open(filename,"r+") as f:
	f.write("黎明\n")
	f.write("方芳\n")

D.

filename="实验中学学生花名册.txt" 
with open(filename,"a") as f:
	f.write("黎明\n")
	f.write("方芳\n")

第 18 题 单选题

以下关于二进制整数的定义,正确的是?( )

A.0B1014

B.0b1010

C.0b1019

D.0bC3F

第 19 题 单选题

设s="happy time",那么print(s[-2:])的结果是?( )

A.me

B.happy

C.time

D.ha

第 20 题 单选题

filename = "中国诗人.txt" 
with open(filename,"w") as file: 
	file.write("唐 李白\n")
	file.write("唐 白居易\n") 

以上程序执行程序后,"中国诗人.txt"文件内容为?( )

A.唐 李白 唐 白居易

B.

唐 李白

唐 白居易

C.唐 李白\n 唐 白居易

D.唐 李白\n 唐 白居易\n

第 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)

第 22 题 单选题

关于文件的读写,下列解释表述错误的是?( )

A.读取模式('r')

B.写入模式('w')

C.读写模式('w')

D.附加模式('a')

第 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]

第 24 题 单选题

异常处理的作用是不想让程序终止,如果出错了需要特殊处理。下列实现异常处理的语句是?( )

A.if /else

B.try/except

C.Warning

D.Error

第 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]:

判断题

第 26 题 判断题

readline()执行结果为字符串,readlines()执行结果为列表。

A.正确 B.错误

第 27 题 判断题

猜一个20以内的随机数二分法比顺序查找的效率更高。

A.正确 B.错误

第 28 题 判断题

Python中避免使用反斜线'\'指定文件路径时出错,如\t;常常使用斜线'/'或者双反斜线'\'。

A.正确 B.错误

第 29 题 判断题

bool函数判断整数参数的布尔值时,只要是非0参数,结果就为True。

A.正确 B.错误

第 30 题 判断题

二进制数转换为十六进制的方法是:从右到左将4位分成一段,左边不满4位的可以用0补满,分别转换为十六进制。

A.正确 B.错误

第 31 题 判断题

Python中的dir函数是一个文件夹操作函数,其主要作用是创建一个文件夹。

A.正确 B.错误

第 32 题 判断题

二进制数与十六进制数的末位是“1”,各转换为十进制数后都是奇数。

A.正确 B.错误

第 33 题 判断题

在try-finally异常处理结构中,无论是否发生异常,都会处理最后的代码。

A.正确 B.错误

第 34 题 判断题

song.csv文件中第一列是歌曲名,使用以下Python程序可以把歌曲名单一一读取出来。

import csv
with open('song.csv', 'r') as f:
	 reader = csv.reader(f)
	 for i in reader:
		 print(i[0])

A.正确 B.错误

第 35 题 判断题

执行代码 x, y, z = sorted([1, 3, 2]) 之后,变量y的值为 1 。

A.正确 B.错误

编程题

第 1 题 问答题

输入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)

第 2 题 问答题

小文的运动时间数据存储在文件“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))

第 3 题 问答题

给定一个整数 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)