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

发布于:2024-05-18 ⋅ 阅读:(227) ⋅ 点赞:(0)

第 1 题 【单选题】

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

A : 0bC3F

B : 0B1010

C :0B1019

D : 0b1708

正确答案:B
试题解析: Python 中表示合法的二进制使用 B(b) 表示, 只有 0,1 两个数码, 故选 B

第 2 题 【单选题】

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

x = 0x10

print(x)

A :2

B :8

C :10

D :16

正确答案:D
试题解析: 0x10 的结果为 16, 故选 D

第 3 题 【单选题】

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

A :1

B : False

C : 出错

D : True

正确答案:D
试题解析: all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 True, 如果是返回 True, 否则返回 False。 元素除了是 0、 空、 False 外都算 True。

第 4 题 【单选题】

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

A :1

B :2

C : [1]

D :[2,1,3]

正确答案:A
试题解析: Python 元组 tuple() 函数将列表转换为元组。 使用 tuple 给多个变量赋值, y 的值为 1。

第 5 题 【单选题】
下列代码的执行结果是? ( )

ls=[[1,2,3],[[4,5],6],[7,8]]
print(len(ls))

A :1

B :3

C :4

D :8

正确答案:B
试题解析:len() 方法返回对象(字符、 列表、 元组等) 长度或项目 个数, 本题返回值为 3。

第 6 题 【单选题】

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

A :f 是变量

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

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

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

正确答案:C
试题解析:文件打开方式错误: r 只读, 不创建文件, 如果文件 a.txt 不存在, 会报错。

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

正确答案:D
试题解析: 选项 A.list(range(0,9))产生的是[0, 1, 2, 3, 4, 5, 6, 7, 8], 选项 B.list(range(1,10))产生的是[1, 2, 3, 4, 5, 6, 7, 8,9], 选项 C.list(range(0,9,2)) 产生的是[0, 2, 4, 6, 8], 选项 D 正确。

第 8 题 【单选题】

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

data = [

[1,2],

[3,4]

]

A : data[0][0]

B : data[0][1]

C : data[1][0]

D : data[1][1]

正确答案:C
试题解析:列表的索引是从 0 开始的。 因此, 元素 3 可以表示为 data[1][0]。

第 9 题 【单选题】

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

try:

    n = input("请输入—个整数: ")

    n= n*n

except:

    print("程序执行错误")

A :100

B :10

C :程序执行错误

D : 程序没有任何输出

正确答案:C
试题解析:这里当输入 10 时, 执行 try 后面的语句, n=10, 所以此时程序只执行了输入语句, 不执行 except 后面的语句。

第 10 题 【单选题】

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

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

A :2 0

B : 0 True

C :2 False

D : 0 False

正确答案:C
试题解析:
当 n 为 2 时, 经过布尔型转换之后的 n-2, 即 b 为 False, n 仍为 2, C 项正确。

第 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

正确答案:A
试题解析: range(10, 0, -2)产生的是 10 8 6 4 2 , reversed 可以反转列表的顺序。

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

正确答案:B
试题解析:本试题考查采用冒泡排序的算法原理, 根据排序的方法给出正确的答案

第 13 题 【单选题】
表达式 max(3,min(5,1,7))的结果是? ( )

A :1

B :3

C :5

D :7

正确答案:B
试题解析:先进行最小值运算 min(5,1,7), 结果是 1, 再执行最大值运算 max(3,1), 结果是 3。

第 14 题 【单选题】

set() 函数通过交集、 差集、 并集等关系删除重复数据, 创建一个无序不重复元素集。
下列程序执行结果正确的是? ( )

x=set("中国")

y=set("美国")

print(x & y )

A :{‘中国’}

B : {‘美国’}

C :{‘中美国’}

D : {‘国’}

正确答案:D
试题解析:

第 15 题 【单选题】

下列表达式的结果不为 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])

正确答案:D
试题解析: sum() 方法对序列进行求和计算。

第 16 题 【单选题】

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

A : try-else 语句

B : try-except 语句

C : try-except-else 语句

D : try-except-finally 语句

正确答案:A
试题解析:
python 的异常处理结构有: try…except 结构 、 try …except…else 结构 、 带有多 个 except 的 try 结构、 try…except…finally 结构等。

第 17 题 【单选题】

小明想对列表 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]

正确答案:D
试题解析:本题考查学生对选择排序算法的理解。 循环的参数设为 range(0,4), 是只循环了4 次, 所以正确答案是选项 D。

第 18 题 【单选题】

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

A : 13,1

B :(13,1)

C :13

D :1

正确答案:B
试题解析:
divmod(x,y)函数用来计算 x 和 y 的除余结果, 返回两个值, 分别是: x 与 y 的整数除, 即x//y, 以及 x 与 y 的余数, 即 x%y。  返回的两个值组成了一个元组类型, 即小括号包含的两个元素(x//y, x%y)。 40//3=13,40%3=1,故答案为 B

第 19 题 【单选题】

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

A :2

B :3

C :4

D :5

正确答案:C
试题解析:n 位二进制可以表示 2 的 n 次方种信息, 故至少要 4 位。

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

正确答案:C
试题解析:
for 循环依次将 1~5 赋给 i, i 从 1,2,3,4.5 依次变化, 当 1%4==0 时, 结束本次循环进入下一循环;反之输出 i 的值, 故输出结果为:1,2,3,5,。 本题选择 C 选项。

第 21 题 【单选题】

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

A :20

B :26

C :24

D :18

正确答案:C
试题解析:
将对应的八进制和十六进制转换为十进制相加。

第 22 题 【单选题】

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

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

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

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

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

正确答案:C
试题解析:算法必须要有输出。

第 23 题 【单选题】

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

d ={"大海":"蓝色","天空":"灰色","大地":"黑色"} 

print(d["大地"])

A :“大地”

B :大地

C :“黑色”

D :黑色

正确答案:D
试题解析:在 Python 中, 字典是存储可变数量键值对的数据结构, 通过字典类型实现映射,通过键访问值。

第 24 题 【单选题】

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

在这里插入图片描述

f=open("city.csv","r")

ls=f.read().split(",")

f.close()

print(ls)

A : [‘巴哈马’,‘巴林’,‘孟加拉国’,‘巴巴多斯 白俄罗斯’,‘比利时’,‘伯利兹’]

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

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

D : [‘巴哈马’,‘巴林’,‘孟加拉国’,‘巴巴多斯’,’ ',‘白俄罗斯’,‘比利时’,‘伯利兹’]

正确答案:A
试题解析:
在 Python 中, split()方法通过指定分隔符对字符串进行切片, 返回分隔后的字符串列表。 以 spit(“.”)方法从 CSV 文件中获得内容时, 无法去除换行符。 '巴巴多斯 白俄罗斯’作为一个列表元素出现, 最后输出列表故选 A 选项。

第 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

正确答案:B
试题解析:
用中括号([])表示列表类型, 也可以通过 list(x)函数将集合或字符串类型转换成列表类型。 此代码生成列表 lis=[0,1,2,3], 最后通过 print()函数输出。 本题选 B 选项。

第 1 题 【判断题】

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

A :正确
B :错误
正确答案:A
试题解析:CSV 文件的每—行是一维数据, 读取数据时使用逗号分隔存放在列表中。

第 2 题 【判断题】

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

A :正确
B :错误
正确答案:A
试题解析:数据可分为一维数据、 二维数据和多维数据。

第 3 题 【判断题】

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

A :正确
B :错误
正确答案:B
试题解析:二进制数 1010111 转换为十六进制数是 57。

第 4 题 【判断题】

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

A :正确
B :错误
正确答案:A
试题解析:int(‘0x25’,16)语句和 int(‘25’,16)语句都可以实现转换。

第 5 题 【判断题】

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

A :正确
B :错误
正确答案:A
试题解析:
无论 try 语句中是否抛出异常, finally 中的语句一定会被执行。

第 6 题 【判断题】

使用 open()函数打开’food.csv’文件后, 返回的是列表。

A :正确
B :错误
正确答案:B
试题解析:
在 Python 中使用 open()函数打开文件,并返回一个文件对象,然后通过文件对象对文件进行读写操作。

第 7 题 【判断题】

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

A :正确
B :错误
正确答案:B
试题解析:
abs()函数的功能是求绝对值。 abs(-2.3)的运行结果是 2.3。

第 8 题 【判断题】

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

A :正确
B :错误
正确答案:A
试题解析:

第 9 题 【判断题】

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

A :正确
B :错误
正确答案:B
试题解析:
chr() 用一个范围在 range(256) 内的(就是 0~ 255) 整数作参数, 返回一个对应的字符。

第 10 题 【判断题】

senson=["春","夏","秋","冬"]

senson.remove("秋")

print(senson)

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

A :正确
B :错误
正确答案:A
试题解析:

第 1 题 【问答题】

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

nums = [0, 20, 0, 4, 31]

initLen = ①

i = 0

j = 0

while i & lt; initLen:

    if:= nums[i]

        j += 1

    i += 1= (len(nums)-j)*[0]

print()

正确答案:

nums = [0, 20, 0, 4, 31] 
nitLen = len(nums) 
i = 0 
j = 0 
while i < initLen: 
	if nums[i]!=0: 
		nums[j] = nums[i] 
		j += 1 
		i += 1 
		nums[j:]=( len(nums)-j)*[0] 
		print(nums)

试题解析:

第 2 题 【问答题】

一个四位数, 如果在它的左边加一个数字 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)

正确答案:

for a in range(1,10): 
	for b in range(0,10): 
		for c in range(0,10): 
			for d in range(0,10): 
				if(80000+a*1000+b*100+c*10+d)+(a*10000+b*1000+c*100+d*10+6) == 121410: 
					print(a,b,c,d) #其中答案③和④可互换

试题解析:
评分标准

①1,10 (2 分 )
②0,10 (2 分 )
③80000+a1000+b100+c10+d (3 分 )
④a
10000+b1000+c100+d*10+6 (3 分


网站公告

今日签到

点亮在社区的每一天
去签到