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

2023年05月25日

选择题

第 1 题 单选题

要对二维列表所有的数据进行格式化输出,打印成表格形状,程序段如下:

ls = [['金京',89],[ '吴树海',80],[ '王津津',90]]
for row in range(len(ls)):
	for column in range(len(ls[row])):
		print(_______,end="\t")
	print()

划线处的代码应该为?( )

A.ls[row][column]

B.ls[column][ row]

C.row[row][ls]

D.row[ls][column]

第 2 题 单选题

有如下列表l=[9,2,8,6,3,4],采用选择排序进行升序排序,请问第二趟排序之后的结果是?( )

A.[2,3,8,6,9,4]

B.[2,8,6,3,4,9]

C.[2,6,3,4,8,9]

D.[2,3,4,6,8,9]

第 3 题 单选题

定义一个列表

shuzu=list(range(4))

print(shuzu)

输出的结果是?( )

A.[0,1,2,3]

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

C.[1,2,3,4]

D.[0,0,0,0]

第 4 题 单选题

有如下列表l=[9,2,8,6,3,4],采用冒泡排序进行升序排序,请问第二趟排序之后的结果是?( )

A.[2,3,8,6,9,4]

B.[2,8,6,3,4,9]

C.[2,6,3,4,8,9]

D.[2,3,4,6,8,9]

第 5 题 单选题

关于列表的索引,描述不正确的是?( )

A.列表中的索引代表各元素在该列表中的位置

B.第一个元素的索引是1

C.索引通常是用自然数来表示的

D.我们可以使用下标索引来访问列表中的值

第 6 题 单选题

关于十六进制数,下列说法错误的是?( )

A.十六进制数从小数点向左数第一位代表有几个1。

B.十进制数的基数个数为16,所以里面包括0—9,A—F,这十六个数码。

C.相同的十进制数分别转换成十六进制数和二进制数后,二进制数的数位通常比十六进制数长。

D.十进制数转换成十六进制数后,它的位数一定会变短。

第 7 题 单选题

关于数据,下列说法不正确的是?( )

A.一维数据一定由有序数据构成

B.常见的表格属于二维数据

C.[[1,2][3,4]]可以表达二维数据

D.二维数据由关联的关系数据构成

第 8 题 单选题

关于二进制,八进制,十进制,十六进制的表示方法,下列说法不正确的是?( )

A.以0b开头表示的是二进制

B.以0o开头表示的是八进制

C.以0x开头表示的是十六进制

D.以0i开头表示的是十进制

第 9 题 单选题

int函数可以将字符串转换为数值,关于int函数的使用,正确的是?( )

A.int("0b10000",10)

B.int("16",10)

C.int("0o020",10)

D.int("0x10",10)

第 10 题 单选题

有如下程序段:

for i in range(3):
	print(i,end=',')

输出结果是?( )

A.0,1,2

B.0,1,2,

C.0,1,2,3

D.0,1,2,3,

第 11 题 单选题

小明在学习编程时,学习到了一个二进制数101,这个二进制数对应的十进制数的数值是?( )

A.2

B.3

C.4

D.5

第 12 题 单选题

已定义一个列表strSZ=["语文","数学","英语"],现向列表末尾添加一个学科"科学",操作正确的是?( )

A.strSZ.read("科学")

B. strSZ.write("科学")

C.strSZ.append("科学")

D.strSZ.insert("科学")

第 13 题 单选题

关于abs()函数,描述不正确的是?( )

A.abs()函数的功能是取整数的绝对值

B.abs(0)的运行结果是0

C.abs(-3)的运行结果是3

D.abs(3.45)的运行结果是3.45

第 14 题 单选题

关于open()函数的参数,下列描述不正确的是?( )

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

B.'w'以写入的方式打开文件,如果文件不存在,则会提示错误

C.'a'打开文件,并将新内容写入到已有内容之后

D.'r+'以读、写方式打开文件

第 15 题 单选题

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

A.1

B.2

C.3

D.0

第 16 题 单选题

以下表达式的值为True的是?( )

A.bool([])

B.bool(0.0)

C.bool("False")

D.bool(range(0))

第 17 题 单选题

用于将整数和字符串转换成浮点数的函数是?( )

A.int

B.float

C.str

D.chr

第 18 题 单选题

关于Python异常处理的作用,描述不正确的是?( )

A.异常处理可以让程序不至于因为小错误而导致程序崩溃

B.异常处理能够补充程序的漏洞,让程序在任何情况下都不会终止

C.异常处理能够提高程序的容错性

D.异常处理能够让程序变得更加友好

第 19 题 单选题

print(divmod(223,11))的运行结果是?( )

A.20, 3

B.(20, 3)

C.3, 20

D.(3, 20)

第 20 题 单选题

max()返回可迭代对象中的元素中的最大值或者所有参数的最大值,则max("123")返回的值是?( )

A.'123'

B.123

C.3

D.'3'

第 21 题 单选题

能够只删除数组strSZ=["语文","数学","英语","科学"]中的“科学”这个元素的操作,其中正确的是?( )

A.strSZ.remove[3]

B.strSZ.remove("科学")

C.del strSZ[4]

D.del strSZ

第 22 题 单选题

下列程序段在运行时输入"yes",则输出结果是?( )

A.yes

B.ok

C.没有输出

D.程序出错

第 23 题 单选题

range()函数根据传入的参数创建一个新的range对象,下列与range(5)相同的结果是?( )

A.range(1,5)

B.range(1,6)

C.range(0,5)

D.range(0,6)

第 24 题 单选题

判断可迭代对象的每个元素是否都为True值的函数是?( )

A.all()

B.any()

C.map()

D.sorted()

第 25 题 单选题

下列运算函数,结果分别返回商和余的值的是?( )

A.abs()

B.divmod(a,b)

C.max()

D.pow(a,b)

判断题

第 26 题 判断题

将十六进制数0x7e4转换成十进制数,可以使用int('0x7e4',16)语句,而不能使用int('7e4',16)语句。

A.正确 B.错误

第 27 题 判断题

十六进制数转换为二进制数较简单,只需要将每一位十六进制数转换为四位二进制数,即可。

A.正确 B.错误

第 28 题 判断题

在Python中,向csv文件中写入数据时,用空格分割列表name中的元素,可以使用file.write(' '.join(name)+'\n')语句(file为文件变量名)。

A.正确 B.错误

第 29 题 判断题

student.csv文件中存储有班级学生名单,使用以下Python程序可以把学生名单一一读取出来:

f=open('student.csv','r')

s=f.read().strip('\n').split(';')

f.close()

A.正确 B.错误

第 30 题 判断题

在Python中,filter()函数的参数有两个,第一必须是函数,第二个必须是序列。

A.正确 B.错误

第 31 题 判断题

input()函数返回的值是字符串,如果要输入数值并参与运算,那么必须用int()函数将其转换为数值后,再参与运算。

A.正确 B.错误

第 32 题 判断题

try-except-else-finally异常处理结构中,不论try程序段中的语句有没有错误,else程序段中的语句都会得到执行。

A.正确 B.错误

第 33 题 判断题

CSV文件的每一行都是一维数据,因此它的每一行都可以用列表类型来表示。

A.正确 B.错误

第 34 题 判断题

在Python中,运行下面代码会输出:[(0, '王萍'), (1, '李丽'), (2, '宋明')]

name=['王萍','李丽','宋明']

print(list(enumerate(name)))

A.正确 B.错误

第 35 题 判断题

语句print("www","python","org",sep=",")的输出结果是:www.python.org。

A.正确 B.错误

编程题

第 1 题 问答题

输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。

输入:

4 5 2 3 1 7 9 10

输出:

[1, 2, 3, 4, 5, 7, 9, 10]
[5, 3, 4, 1, 2, 6, 7, 8]

请编写程序实现上述功能,或补全代码。

s=input()
x=s.split(    ①    )
a=[]
b=[]
n=     ②    
for i in range(0,len(x)):
   a.append(int(  ③  ))
   n=n+1
   append(n)
for i in range(      ④     ):
   for j in range(i+1,n):
	  if (      ⑤      ):
		a[i],a[j]=a[j],a[i]
		b[i],b[j]=b[j],b[i]
print(a)
print(b)

第 2 题 问答题

一个小朋友正在求解一道小学四年级提优题,题目如下:

把 1296 分拆成a、b、c、d四个正整数,如果a加上2,b减去2,c乘以2,d除以2,

则这四个结果相等。现在请你编写程序求出这四个数。

补全下面的代码:

for a in range(1,    ①   ):
	b =   ②    
	for c in range(1,1296-a-b):
		d =    ③    
		if (b-2==c*2) and (a+b+c+d==   ④  ) :
			print(a,b,c,d)

第 3 题 问答题

请读取文件 “plant.csv” 的数据,数据内容如下图显示:

下列代码实现了读取“植物编号”和“生长情况”信息,输出“生长情况”达到6的数量,请你补全代码。