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

2023年05月26日

选择题

第 1 题 单选题

二进制数101100111对应的十六进制数的数值是? ( )

A.6

B.369

C.167

D.165

第 2 题 单选题

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

A.0o129

B.0o12A

C.0O1708

D.0O1207

第 3 题 单选题

在Python中,int('10',16)语句的作用是? ( )

A.将十进制数10转化为十六进制数16

B.将十六进制数10转化为十进制数16

C.将字符串“10”转化为二进制整数

D.将字符串“10”转化为十六进制整数

第 4 题 单选题

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

A.21

B.7

C.14

D.77

第 5 题 单选题

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

A.f是变量名;

B.以只读方式打开文件;

C.如果文件abcsv不存在,会创建abcsv;

D.'c:/abcsv'代表c盘中一个名为'abcsv'的文件。

第 6 题 单选题

有如下从csv文件中读入数据的程序段:

f=open("abcsv","r")
m=[]
for lines in f:
   m.append(lines.strip("\n").split("\"))
f.close()
print(m)

程序中存在错误的地方是? ( )

A."r"

B.lines.strip("\n")

C.split("\")

D.f.close()

第 7 题 单选题

对于a=len([2,3,4,5,[7,8],(9,10)]),a的值是? ( )

A.4

B.6

C.8

D.7

第 8 题 单选题

有关Python文件常用读写方式的描述,错误的是? ( )

A.read() 每次读取整个文件

B.read() 生成的文件内容是一个字符串

C.readline() 每次只读取文件的一行

D.readlines() 每次按行读取整个文件内容,将读取到的内容放到一个字符串中

第 9 题 单选题

add=['北京','上海','广州','深圳'] 
f=open('city.csv','w') 
f.write(','.join(add)+'\n') 
f.close() 

下列说法错误的是? ( )

A.f=open('city.csv','w')说明当前是写入模式

B.f.write(','.join(add)+'\n')语句改成f.write(' '.join(add)+'\n'),程序运行效果一样

C.删除f.close()语句,不能正确保存文件

D.当前程序的功能是将列表对象输出到CSV文件

第 10 题 单选题

当发生异常时,下列描述正确的是? ( )

A.需要捕获异常,然后进行相应的处理

B.需要把可能发生错误的语句放在except模块里

C.需要把处理异常的语句放在try模块里

D.需要为每一个try模块设定且只能设定一个except模块

第 11 题 单选题

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

try:
	a=eval(input())
	print(a)
except NameError:
	print('Error!')

A.”2”

B.2.0

C.Error!

D.2

第 12 题 单选题

下列程序运行结果是? ( )

a="2"
b="3"
c=int(a+b) 
print(c)

A.5

B."5"

C.5.0

D.23

第 13 题 单选题

执行代码a,b,c=sorted((1,3,2))之后,变量b的值为? ( )

A.1

B.3

C.2

D.(1,3,2)

第 14 题 单选题

x = min('5678'),下列选项中语法错误的一项是? ( )

A.print(max(float(x),7,6))

B.print(max(ord(x),7,6))

C.print(max(bin(x),7,6))

D.print(max(int(x),7,6))

第 15 题 单选题

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

A.all (())

B.any(['0'])

C.any((0,))

D.all(['a','b'])

第 16 题 单选题

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

A.bool([])

B.bool(None)

C.bool("False")

D.bool(range(0))

第 17 题 单选题

print(divmod(22,7))的运行结果是? ( )

A.3.0

B.3

C.[3,1]

D.(3,1)

第 18 题 单选题

下列表达式的结果与其他三项不相同的是? ( )

A.abs(-3.4)

B.round(abs(-3.4))

C.abs(round(-3.4))

D.min(round(3.4),round(3.8))

第 19 题 单选题

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

A.ascii()返回一个对象的字符串

B.ascii()返回一个对象的ASCII码的值

C.ascii()的返回值的类型必然是字符串

D.ascii(1)的结果是"1"

第 20 题 单选题

下列关于表达式的计算结果,不正确的是? ( )

A.bool(2*3-0)的值为“True”

B.bool(2*3-2)的值为“True”

C.bool(2*3-3)的值为“True”

D.bool(2*3-6)的值为“True”

第 21 题 单选题

下列输出结果为"1+2+3=6"的是? ( )

A.print(1+2+3=6)

B.print(1+2+3,'=6')

C.print(1,2,3,sep='+','=6')

D.print(1,2,3,sep='+',end='=6')

第 22 题 单选题

下列函数能创建一个新的列表的是? ( )

A.sorted()

B.list()

C.dict()

D.set()

第 23 题 单选题

关于算法的说法,下列说法正确的是? ( )

A.采用顺序查找算法,一定能找到数据

B.算法必须有输入和输出

C.对分查找算法不需要对数据进行排序

D.顺序查找算法不需要对数据进行排序

第 24 题 单选题

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

A.[9,8,7,6,8,3]

B.[8,9,7,8,6,3]

C.[9,8,7,8,6,3]

D.[9,8,8,6,7,3]

第 25 题 单选题

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

A.[7,8,6,3,8,9]

B.[3,6,9,7,8,8]

C.[7,6,3,8,8,9]

D.[3,6,7,8,8,9]

判断题

第 26 题 判断题

在Python中,0x10010转化为十进制数是18。

A.正确 B.错误

第 27 题 判断题

hex(int('12',16))的结果是'0x18’。

A.正确 B.错误

第 28 题 判断题

在Python中,可以使用下面代码读取文件中的数据到列表。

f = open('city.csv','r')
name = f.read().strip('\n').split(';')
f.close()

A.正确 B.错误

第 29 题 判断题

在Python中open('city.csv','r')命令的作用是以只读方式打开文件名为city的csv格式文件。

A.正确 B.错误

第 30 题 判断题

在Python中,向csv文件中写入数据时,用逗号合并列表name中的元素,可以使用f.write(','.join(name)+'\n')语句(f为文件对象名)。

A.正确 B.错误

第 31 题 判断题

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

A.正确 B.错误

第 32 题 判断题

在Python中,执行print(ascii(ord('A')+12))语句,打印一个整型数值结果。

A.正确 B.错误

第 33 题 判断题

在Python中,sorted()函数可以实现对列表中数据的排序,但排序后不改变原列表中数据的位置。

A.正确 B.错误

第 34 题 判断题

在Python中,表达式divmod(26,10) 的输出结果为(2,6)或(3,-4)。

A.正确 B.错误

第 35 题 判断题

在Python中,chr(ord('b')-32)语句的功能是将小写字母b转换为大写字母B。

A.正确 B.错误

编程题

第 1 题 问答题

明明请你帮忙寻找100-999之间的所有“水仙花数”,并统计个数。“水仙花数”是指一个三位数各位数字的立方和等于该数本身。

例如:153=111+555+333。要求输出结果如下所示:

153

370

371

407

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

for i in range(   ①   ):
   x=i
   a=x % 10
   x= (   ②   )    
   b=x % 10
   c=x // 10
   if (   ③   ):
	  print(i)

第 2 题 问答题

查找“支撑数”。在已知一组整数中,有这样一种数非常怪,它们不在第一个,也不在最后一个,而且刚好都比左边和右边相邻的数大,你能找到它们吗? 输入一个数组,输出每个支撑数的数值以及它们在数组中位置编号。

示例:

输入:

1 3 2 4 1 5 3 9 7 10 8 23 85 43

输出:

3   2
4   4
5   6
9   8
10   10
85   13

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

s=input()
x=s.split(' ')
a=[]
for i in range(0,len(x)):
   a.append(int(   ①   )
b=[]
c=[]
n=0
for i in range(1,   ②   ):
   if (a[i]>a[i-1] and   ③   ):
	  append(a[i])
	  append(   ④   )

for i in range(   ⑤   ):
   print(b[i],' ',c[i])

第 3 题 问答题

请读取某班级语文学科的成绩文件score.txt的数据,数据内容如下图显示:

下列代码实现了读取数据并对每个成绩从小到大排序后并输出,请你补全代码。

with open('/data/   ①   ', 'r') as f:
	list = f.readlines()
for i in range(0, len(list)):
	list[i] = list[i].strip('\n')
	list[i]=  (  ②  )
	(  ③  )

print(list)
f.close