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

2023年05月25日

选择题

第 1 题 单选题

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

A."w+" 以十六进制格式打开一个文件只用于写入

B."r+"打开一个文件用于读写。文件指针将会放在文件的末尾

C."w" 打开一个文件只用于写入。如果该文件已存在则打开文件,并从原有位置开始编辑,即保留原有内容。如果该文件不存在,创建新文件

D."r" 以只读方式打开文件,文件的指针将会放在文件的开头

第 2 题 单选题

如下图代码,请问两条红线处应该填入?( )

A.1、没有变化 2、没有变化

B.1、没有变化 2、顺序会有变化

C.1、顺序会有变化 2、顺序会有变化

D.1、顺序会有变化 2、没有变化

第 3 题 单选题

下面不同数制数据中,数值最大的是?( )

A.0x2B

B.0o37

C.41

D.0b100111

第 4 题 单选题

执行下面代码:

print(bool(2)+3)

打印出的结果为?( )

A.3

B.4

C.5

D.报错

第 5 题 单选题

求既是3的倍数且各个位上的数的和是8的倍数的三位数,适合的算法是?( )

A.解析算法

B.枚举算法

C.排序算法

D.对分查找法

第 6 题 单选题

下列选项不是Python异常处理可能用到的关键字?( )

A.try

B.else

C.if

D.finally

第 7 题 单选题

已定义学期末考核科目km=["语文","数学","英语"],先根据安排需要添加综合学科进入考试科目,操作正确的是?( )

A.km.append("综合")

B.km.insert("综合")

C.km.write("综合")

D.km.read("综合")

第 8 题 单选题

表达式chr(ord("0")+3)的结果是?( )

A.333

B.'3'

C."000"

D."0","0","0"

第 9 题 单选题

与十进制数 1770 对应的八进制数是?( )

A.3350

B.3351

C.3352

D.3540

第 10 题 单选题

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

a = [5,1,3,4]
print(sorted(a,reverse = True))

A.[5, 1, 3, 4]

B.[5, 4, 3, 1]

C.[4, 3, 1, 5]

D.[1, 3, 4, 5]

第 11 题 单选题

用冒泡排序算法对6个数进行排序,进行比较的次数为?( )

A.4

B.5

C.10

D.15

第 12 题 单选题

以下代码执行后,如果用户输入为:3*6,则输出为?( )

cal=input("请输入计算公式:\n")
print(eval(cal))

A.3*6

B."3*6"

C.18

D."18"

第 13 题 单选题

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

A.表达式float("3.14") 的结果是3.14

B.表达式type(100)的结果是十进制数

C.表达式oct(100)可以获得十六进制数

D.表达式hex(100)可以获得八进制数

第 14 题 单选题

Python中abs ()函数的作用为?( )

A.求绝对值

B.求开方结果

C.求平方结果

D.求立方结果

第 15 题 单选题

以下代码的执行结果为?( )

t=(11,25,36)
avg=sum(t)/len(t)
print(avg)

A.24

B.24.0

C.12

D.12.0

第 16 题 单选题

Python中十六进制与十进制进行转换时,下列表述错误的是?( )

A.十进制数57转换成十六进制,可以表示成int('57',16)

B.十进制数57转换成十六进制,可以表示成hex(57)

C.十六进制数39转换成十进制,可以表示成int('39',16)

D.十六进制数39转换成十进制,可以表示成0x39

第 17 题 单选题

Python中使用open()函数打开文件完成读的功能,下列说法错误的是?( )

A.readlines()方法是读取文本所有的行,直到文件末尾

B.readline()方法是读取文件的第一行

C.在同一个程序中,多次使用readline()方法后,程序仍读取第一行的内容

D.执行readline()方法后,运行的结果不是列表,而是字符串

第 18 题 单选题

以下代码执行后,得到的结果为?( )

list1 = [5, 0, 6, 1, 2, 7, 3, 4]
print(sorted(list1, reverse=True))

A.[7, 6, 5, 4, 3, 2, 1, 0]

B.[0, 1, 2, 3, 4, 5, 6, 7]

C.[4, 3, 7, 2, 1, 6, 0, 5]

D.[5, 0, 6, 1, 2, 7, 3, 4]

第 19 题 单选题

int(7.8)的执行结果是?( )

A.8

B.8.0

C.7

D.7.0

第 20 题 单选题

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

A.顺序查找属于无序查找

B.对分查找一定能找到数据

C.对分查找是一种低效的查找方法

D.顺序查找次数一定比对分查找次数多

第 21 题 单选题

当try子句中没有任何错误时,一定不会执行语句?( )

A.try

B.else

C.except

D.finally

第 22 题 单选题

Python可以通过哪个函数实现字符串数据的格式化处理?( )

A.format

B.int

C.max

D.str

第 23 题 单选题

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

ls =[]
for m in '想念':
	for n in '家人':
		ls.append(m+n)
print(ls)

A.想念家人

B.想想念念家家人人

C.想家想人念家念人

D.['想家', '想人','念家','念人']

第 24 题 单选题

format方法通常用来格式化print的输出格式。以下程序中使用format来输出: 我叫小明,我今年12岁了,则代码中缺失部分应该填写?( )

name="小明"

age=12

print("我叫{},我今年{}岁了".format(_________________))

A.age,name

B.name,age

C.name:age

D.age name

第 25 题 单选题

下列数据中,不可能表示十六进制数的是?( )

A.AABC

B.17F

C.8H5

D.9a01

判断题

第 26 题 判断题

except语句可以有多个,Python会按except语句的顺序依次匹配你指定的异常。

A.正确 B.错误

第 27 题 判断题

any([])函数和any(())函数的结果是False。

A.正确 B.错误

第 28 题 判断题

利用Python3自带的csv库进行操作,可使用以下程序获取class.csv文件中存储的表头信息,并进行输出。

import csv
with open('class.csv') as f:
	reader=csv.reader(f)
	head_row=next(reader)
	print(head_row)

A.正确 B.错误

第 29 题 判断题

利用csv格式存储二维数据时,每行都是一个一维数据,用逗号分隔,可以有空行。

A.正确 B.错误

第 30 题 判断题

数学老师对小明说:我要计算[4,6,3,2,5,8,7,9]这几个整数的平方,你能帮我编程实现吗?

小明说:两行代码就能实现。程序如下!

请判断,小明的这个程序是否正确。

A.正确 B.错误

第 31 题 判断题

多次使用readline()读取文件,如果要退到文件的起始位置,可以使用seek()实现。

A.正确 B.错误

第 32 题 判断题

Python中使用print函数输出时,输出完毕默认会换行,不能通过修改参数改为其它间隔方式。

A.正确 B.错误

第 33 题 判断题

十六进制与八进制数值之间的转换,常常借助二进制或者十进制作为中间的桥梁。

A.正确 B.错误

第 34 题 判断题

同一个整数分别用十六进制和八进制表示后,数值一定不相等。

A.正确 B.错误

第 35 题 判断题

语句print("a","b","c",sep=",")的输出结果是:"a" "b" "c"。

A.正确 B.错误

编程题

第 1 题 问答题

法定节假日是根据各国、各名族的风俗习惯或纪念要求,由国家法律统一规定的用以进行庆祝及度假的休息时间。

法定节假日制度是国家政治、经济、文化制度的重要反映,涉及经济社会的多个方面,涉及广大人民群众的切身利益。

法定节假日的休假安排,为居民出行购物和休闲提供了时间上的便利,为拉动内需、促进经济增长做出了积极贡献。

给出一个2020年的节假日的放假日期CSV文件(vacations.csv),内容示例如下:

以第1行为例,1230表示12月30日,0101表示1月1日。

代码功能为:读入CSV文件中数据,获得用户输入。根据用户输入的节假日名称,输出此节假日的假期范围。请补全代码。

fi=open("/data/①     ","r")
ls=[]
for line in fi:
	ls.append(line.strip("\n").split(","))
fi.close()
s=input("请输入节假日名称:")
for line in ls:
	if        ②        :
		print("{}的假期位于{}-{}之间".format(line[1], line[2], line[3]))

第 2 题 问答题

尊老王国有一个默认规则,排队必须遵守年长的在前,年幼的在后。一支正要出城的队伍,请帮助他们顺利出城。

输入:
15、78、96、45、36
输出
[96, 78, 45, 36, 15]
[3, 2, 4, 5, 1]

请在划线处补全代码,实现以上功能

s = input()
x= s.split('、')
a = []
b = []
n = 0
for i in range(0, len(x)):
	a.append(int(x[i]))
	n = ___________
	b.append(n)

for i in range(n-1):
	for j in range(i+1, n):
		if (__________):
			_________________
			b[i], b[j] = b[j], b[i]
print(a)
print(b)

第 3 题 问答题

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

n = int(input('请输入总人数:'))
num = []
for i in range(n):
	num.append(    ①    )
i = 0
k = 0
m = 0
while m < n - 1:
	if     ②    : k += 1
	if k == 3:
		num[i] = 0
		k = 0
		   ③    
	i += 1
	if i == n : i = 0
i = 0
while num[i] == 0:i += 1
print(    ④    )