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

2023年05月25日

选择题

第 1 题 单选题

下列代码的输出结果是?( )

x = 0x10

print(x)

A.2

B.8

C.10

D.16

第 2 题 单选题

关于语句f=open('d:/a.txt', 'r'),下列描述不正确的是?( )

A.f是变量

B.'r'以只读方式打开文件

C.如果文件a.txt不存在,不会报错

D.‘d:/a.txt’是文件路径,代表d盘中一个名为‘a.txt’的文件

第 3 题 单选题

表达式 all([1,True,True])的结果是?( )

A.1

B.False

C.出错

D.True

第 4 题 单选题

Python中表示合法的二进制整数是?( )

A.0bC3F

B.0B1010

C.0B1019

D.0b1708

第 5 题 单选题

执行语句x,y,z=tuple([2,1,3])之后,变量y的值为?( )

A.1

B.2

C.[1]

D.[2,1,3]

第 6 题 单选题

下列代码的执行结果是?( )

ls=[[1,2,3],[[4,5],6],[7,8]]

print(len(ls))

A.1

B.3

C.4

D.8

第 7 题 单选题

下列能产生列表[1, 3, 5, 7, 9]的表达式是?( )

A.list(range(0,9))

B.list(range(1,10))

C.list(range(0,9,2))

D.list(range(1,10,2))

第 8 题 单选题

二维列表data中,元素"3"的表示是?( )

data = [
[1,2],
[3,4]
]

A.data[0][0]

B.data[0][1]

C.data[1][0]

D.data[1][1]

第 9 题 单选题

下列代码的输出结果是?( )

n = 2
b=bool(n-2)
print(n, b)

A.2 0

B.0 True

C.2 False

D.0 False

第 10 题 单选题

键盘输入数字10,以下代码的输出结果是?( )

try:
	n = input("请输入—个整数: ")
	n= n*n
except:
	print("程序执行错误")

A.100

B.10

C.程序执行错误

D.程序没有任何输出

第 11 题 单选题

下列程序运行后的输出结果是?( )

for i in reversed(range(10, 0, -2)):
	print(i,end=" ")

A.2 4 6 8 10

B.0 2 4 6 8 10

C.12345678910

D.9 8 7 6 5 4 3 2 1 0

第 12 题 单选题

有如下列表1=[10,1,9,6,3,4],采用冒泡排序进行升序排序,请问第一趟排序之后

的结果是?( )

A.[1,3,9,6,10,4]

B.[1,9,6,3,4,10]

C.[1,6,3,4,9,10]

D.[1,3,4,6,9,10]

第 13 题 单选题

表达式max(3,min(5,1,7))的结果是?( )

A.1

B.3

C.5

D.7

第 14 题 单选题

set() 函数通过交集、差集、并集等关系删除重复数据,创建一个无序不重复元素集。

下列程序执行结果正确的是?( )

x=set("中国")
y=set("美国")
print(x & y )

A.{'中国'}

B.{'美国'}

C.{'中美国'}

D.{'国'}

第 15 题 单选题

下列不能用于异常处理结构中捕获特定类型的异常的语句是?( )

A.try-else语句

B.try-except语句

C.try-except-else语句

D.try-except-finally语句

第 16 题 单选题

下列表达式的结果不为10的是?( )

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

B.sum((1,2,3),4)

C.sum([1,2,3],4)

D.sum([1,2],[3,4])

第 17 题 单选题

表达式divmod(40,3)的结果是?( )

A.13,1

B.(13,1)

C.13

D.1

第 18 题 单选题

小明想对列表arr = [5, 33, 21, 67, 39, 73, 7, 43 ]中的数值进行升序排序,于是他编写了“选择排序”程序,

在调试程序的过程,他故意将循环的次数改成了固定值,如下图所示。请问,现在这个程序执行之后print(arr)打印出的结果应该是?( )

A.[5, 7, 21, 33, 39, 43, 67, 73]

B.[5, 7, 21, 33, 39, 73, 43,67]

C.[5, 7, 21, 67, 39, 73, 33, 43]

D.[5, 7, 21, 33, 39, 73, 67, 43]

第 19 题 单选题

要表示10种不同的信息,需要的二进制位数至少为?( )

A.2

B.3

C.4

D.5

第 20 题 单选题

下列代码的输出结果是?( )

for i in range(1,6):
	if i%4== 0:
		continue
	else:
		print(i,end =",")

A.1,2,3,

B.1,2,3,4,

C.1,2,3,5,

D.1,2,3,5,6,

第 21 题 单选题

以下关于算法以及算法的描述,错误的是?( )

A.算法必须要在有限的步骤内完成

B.算法每个步骤的含义必须是确切的

C.算法必须有输入,但可以没有输出

D.算法可以没有输入,但必须要有输出

第 22 题 单选题

八进制10与十六进制10相加,其对应的十进制数是?( )

A.20

B.26

C.24

D.18

第 23 题 单选题

下列代码的输出结果是?( )

d ={"大海":"蓝色","天空":"灰色","大地":"黑色"} 
print(d["大地"])

A.“大地”

B.大地

C."黑色"

D.黑色

第 24 题 单选题

假设city.csv文件内容如下,那么下列代码的输出结果是?( )

f=open("city.csv","r")
ls=f.read().split(",")
f.close()
print(ls)

A.['巴哈马','巴林','孟加拉国','巴巴多斯\n白俄罗斯','比利时','伯利兹']

B.['巴哈马','巴林','孟加拉国','巴巴多斯','白俄罗斯','比利时','伯利兹']

C.['巴哈马,巴林,孟加拉国,巴巴多斯,白俄罗斯,比利时,伯利兹']

D.['巴哈马','巴林','孟加拉国','巴巴多斯','\n','白俄罗斯','比利时','伯利兹']

第 25 题 单选题

下列代码的输出结果是?( )

lis=list(range(4)) 
print(lis)

A.[0,1,2,3,4]

B.[0,1,2,3]

C.0,1,2,3,

D.0,1,2,3,4

判断题

第 26 题 判断题

int('0x25',16)语句和int('25',16)语句都能实现将十六进制数0x25转换成十进制数的功能。

A.正确 B.错误

第 27 题 判断题

使用open()函数打开'foocsv'文件后,返回的是列表。

A.正确 B.错误

第 28 题 判断题

数据可分为一维数据、二维数据和多维数据。

A.正确 B.错误

第 29 题 判断题

语句try-except-finally中finally语句无论异常是否发生都必须执行的语句。

A.正确 B.错误

第 30 题 判断题

CSV文件的每—行是一维数据,可以使用Python中的列表类型表示。

A.正确 B.错误

第 31 题 判断题

二进制数 1010111转换为十六进制数是 A7。

A.正确 B.错误

第 32 题 判断题

abs()函数的功能是将对小数进行取整,abs(-2.3)的运行结果是2。

A.正确 B.错误

第 33 题 判断题

chr()函数用于将对象转换成字符串。

A.正确 B.错误

第 34 题 判断题

enumerate() 函数将字符串、列表、元组、字典等组合为索引序列,同时列出数据和数据下标。

A.正确 B.错误

第 35 题 判断题

senson=["春","夏","秋","冬"]
senson.remove("秋")
print(senson)

执行上面程序,结果为['春', '夏', '冬']

A.正确 B.错误

编程题

第 1 题 问答题

一个四位数,如果在它的左边加一个数字8,就可以得到一个五位数;如果在它的右边加一个数字6,就可以得到另一个五位数, 这两个五位数的和是121410。请问原来这个四位数是多少?现在请你编写程序,求出这个四位数。

补全下面的代码:

for a in range(    ①   ):
	for b in range(   ②    ):
		for c in range(0,10):
			for d in range(0,10):
				if (    ③    )+(   ④  ) == 121410:
					print(a,b,c,d)

第 2 题 问答题

请读取文件/data/subways.csv的数据,数据内容如下图显示:

下列代码实现了读取“学号”和“身高”信息,输出“身高”达到120的学号,请你补全代码。

import csv
with open('/data/     ①     ') as f:
	rows = list( csv.reader (f))
	for row in rows[1:]:
		if(int(row[1])>=120):
			 print(    ②     )

第 3 题 问答题

有一组数据[0,20,0,4,31]存放在nums中,请将列表中的所有零移动到列表尾。

nums=[0,20,0,4,31]
initLen = ①
i=0
j=0
while i<initLen:
	if ②:
		③= nums[i]
		j+=1
	i+=1
④=( len(nums)-j)*[0]
print(⑤)