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

2023年06月01日

单选题

第 1 题 单选题

下面哪个语句正确定义了元组类型数据tuple1?

A. tuple1=["张三","李四","王五"]

B. tuple1=("张三";"李四";"王五")

C. tuple1=(张三,李四,王五)

D. tuple1=("张三",)

第 2 题 单选题

已知元组tuple1=("张三","李四","王五","赵六"),能输出('李四', '赵六')的是?

A. print(tuple1(1:3))

B. print(tuple1[1::2])

C. print(tuple1[1,3])

D. print(tuple1[2:4])

第 3 题 单选题

以下哪个选项不能生成列表['data1', 'data3', 'data5', 'data7', 'data9'] ?

A.

list1 = []
for i in range(1,10,2):
list1.append("data{}".format(i))
print(list1)

B.

list2 = [ "data{}".format(i)for i in range(1,10,2)]
print(list2)

C.

list3= []
for i in range(10):
if i %2 == 1:
list3.append("data{}".format(i))
print(list3)

D.

list4 = [ "data{}".format(i) for i in range(0,10) if i % 2 == 0]
print(list4)

第 4 题 单选题

关于各类推导式的运用的表述中,错误的是?

A. yield作为Python的关键字之一,在生成器函数中用来返回值。

B. 使用生成器对象的元素时,不可以将其根据需要转化为列表或者元组。

C. 与列表推导式不同的是,生成器推导式的结果是一个生成器对象,而不是列表,也不是元组。

D. 从形式上看,生成器推导式与列表推导式非常接近,只是生成器推导式使用圆括号而不是列表推导式所使用的方括号。

第 5 题 单选题

Python中yield是一个类似return 的关键字,迭代一次遇到yield时就返回yield后面(右边)的值。下一次迭代时,从上一次迭代遇到的yield后面的代码(下一行)开始执行。下列程序的输出结果是?

def fun():
	a,b = 1,1
	while True:
		yield a
		a,b = b,a+b
c = fun()
for i in range(6):
	print(c.__next__(),end = ' ')

A. 1 1 2 3 5 8

B. 1 1 2 2 3 3

C. 8 5 3 2 1 1

D. 1 2 3 4 5 6

第 6 题 单选题

下列列表的定义,正确的是哪一项?

A. list1 = ['red'; 'blue'; 'yellow']

B. list2 = [red, blue, yellow]

C. list3 = ['red', 'blue', 'yellow']

D. list4 = ['red'、 'blue'、'yellow']

第 7 题 单选题

现有列表 fruits = ['apple', 'orange', 'banana', 'peach']

当前需要删去列表元素'orange',正确的操作是?

A. del fruits['orange']

B. del fruits[1]

C. del fruits[2]

D. del fruits[orange]

第 8 题 单选题

水果店管理员现有列表 fruits = ['apple', 'orange', 'banana', 'peach'] ,当前接收到葡萄('grape'),需要在列表末尾添加该元素,正确的是哪一项?

A. fruits.insert('grape')

B. fruits.append('grape')

C. fruits.index('grape')

D. fruits.count('grape')

第 9 题 单选题

现有校园气象站最近一周(周一至周日)信息采集数据列表:

sunlight = [425, 293, 381, 197, 408, 355, 362]

当前需要输出周一至周六的数据信息,正确的操作是?

A. print(sunlight[1:n])

B. print(sunlight[1:n-1])

C. print(sunlight[::-1])

D. print(sunlight[:-1])

第 10 题 单选题

现有集合 stationery = set(("pen", "pencil", "eraser", "ruler"))

需要集合中添加元素"ink",正确的是哪一项?

A. stationery.set("ink")

B. stationery.insert("ink")

C. stationery.pop("ink")

D. stationery.add("ink")

第 11 题 单选题

通过下列哪个方法,可以实现两个集合交集的操作?

A. copy()

B. intersection()

C. union()

D. update()

第 12 题 单选题

运行下列程序,输出结果正确的一项是?

ds = {'aa':2,'bb':4,'cc':9,'dd':6}

print(ds.popitem(), len(ds))

A. ('aa', 2) 4

B. ('dd', 6) 4

C. ('bb', 2) 3

D. ('dd', 6) 3

第 13 题 单选题

运行下列程序,输出结果正确的一项是?

ds = {'语文':99,'数学':98,'历史':94,'物理':97}
print(ds.pop(max(ds.keys()), 0))

A. 数学

B. 94

C. 99

D. 语文

第 14 题 单选题

有如下Python程序段:

n=int(input("请输入一个整数:"))
s=0
for i in range(1,n):
	if n%i==0:
		s=s+i
print(s)

若输入的数为10,则输出的结果为?

A. 8

B. 11

C. 18

D. 55

第 15 题 单选题

有如下Python程序段:

for i in range(1,11):
	for j in range(1,11,2):
		if i+j!=10:
			break
		print(i,j)

执行程序后,输出的结果为?

A. 3 7

B. 5 5

C. 7 3

D. 9 1

第 16 题 单选题

有如下Python程序段:

s=['3','5','11','28']
max=s[0]
for i in range(1,len(s)):
	if s[i]>max:
		max=s[i]
print(max)

执行程序后,输出的结果为?

A. 3

B. 5

C. 11

D. 28

第 17 题 单选题

有如下Python程序段:

s=0
for i in range(1,11):
	if i%3==2:
		continue
	s+=i

执行程序后,输出s的值为?

A. 15

B. 26

C. 40

D. 55

第 18 题 单选题

Python表达式"Hello"+"Python"的值为?

A. "Hello"+"Python"

B. "HelloPython"

C. Hello+Python

D. "Hello Python"

第 19 题 单选题

有字符串s="Hello Python",则s[-2:2:-2]的值为?

A. ""

B. "otPo"

C. "otPol"

D. "hy l"

第 20 题 单选题

回文指正读和反读都相同的字符序列,如“abba”、“abccba”、12321、123321是“回文”,“abcde”和“ababab”则不是“回文”。 在数学中具备这样特征的数就叫做回文数。假设字符变量a中存放的是一个三位数,下列语句不能取出字符变量a中的回文数的是?

A. a[2]+a[1]+a[0]

B. a[::-1]

C. a[-1]+a[-2]+a[-3]

D. a[-1:0:-1]

第 21 题 单选题

已知变量name="张昊"、age=18,下列字符串格式化输出,错误的是?

A. print('我叫%s,今年我%d岁了'%(age,name))

B. print(‘我叫%s,今年我%d岁了'%(name,age)

C. print('我叫{},今年我{}岁了'.format(name,age))

D. print(f'我叫{name},今年我{age}岁了')

第 22 题 单选题

编写Python程序实现:随机生成输出一个1-100之间的整数。

import random
print(num)

下列语句不可以完善程序,实现相关功能的是?

A. num=int(random.random()*99)+1

B. num=int(random.uniform(1,100))

C. num=random.randint(1,100)

D. num=random.choice(range(1,101))

第 23 题 单选题

编写Python程序实现:输入圆的半径,输出圆的面积。

import math
r=float(input())
print(s)

下列语句不可以完善程序,实现相关功能的是?

A.

s=math.pi*math.pow(r,2)

B.

s=math.pi*r**2

C.

s=math.pi*r*r

D.

s=pi*r*r

第 24 题 单选题

time模块中,time.time()所得的结果的数据类型是?

A. 整形

B. 实型

C. 字符串类型

D. 列表类型

第 25 题 单选题

Python中jieba的功能描述,正确的是?

A. 分词

B. 数据可视化

C. 计算

D. 画图

判断题

第 26 题 判断题

一个完整的切片表达式包含两个“:”,用于分隔三个参数(start_index、end_index、step),当只有一个“:”时,默认第三个参数step=0。

A. 正确

B. 错误

第 27 题 判断题

Python中列表的索引是从1开始的。

A. 正确

B. 错误

第 28 题 判断题

Python中集合元素是有序的,可以用索引获取集合的具体元素。

A. 正确

B. 错误

第 29 题 判断题

Python集合中每一个元素都是唯一的。

A. 正确

B. 错误

第 30 题 判断题

当以指定“键”为下标给字典对象赋值时,若该“键”存在则表示修改该“键”对应的“值”,若不存在则抛出错误。

A. 正确

B. 错误

第 31 题 判断题

>>> list(range(4))可以生成列表[0,1,2,3,4]。

A. 正确

B. 错误

第 32 题 判断题

在Python中,字符串常量必须用双引号引起来。

A. 正确

B. 错误

第 33 题 判断题

假设字符串a=”students”,索引切片a[:]的结果与a[:1]的结果相同。

A. 正确

B. 错误

第 34 题 判断题

time库是Python中处理时间的标准库, time库中时间获取函数time()和ctime(),返回的都是字符串。

A. 正确

B. 错误

第 35 题 判断题

元组是一种有序的序列结构,元素可重复,数据类型可不相同,元素可以修改。

A. 正确

B. 错误

编程题

第 1 题 问答题

破译密码:经过研究,该密码的加密规律如下:

1)原文中所有的字符都在字母表中被循环左移了三个位置(dec -> abz);

2)逆序存储(abcd -> dcba );

3)大小写反转(abXY -> ABxy)。

输入:一个加密的字符串。(长度小于50且只包含大小写字母)

输出:输出解密后的字符串。

根据上述算法思想,补全下列代码。

输入输出示例:输入:djiAHYhSju,输出:XMvKbkdLMG

a=input()
a=list(a)
newList1=[]
newList2=[]
for i in a:
	num=ord(i)
	if num >=120 and num<=122:
		num= ①
	elif num>=88 and num<=90:
		num=num-23
	else:
		num = ②
	c=chr(num)
	newList1.append(c)
③
for i in newList1:
	if i.isupper():
		newList2.append( ④ )
	if i.islower():
		newList2.append(i.upper())
for i in newList2:
	print(i,end='')

第 2 题 问答题

科技社团组织一次实践活动,设计海报过程中需要对一个字符串进行编辑,字符串由大小写英文字母和英文标点符号组成,根据活动主题,需要将字符串中小写字母’h’替换为大写字母’H’。有一点要注意:第一个和最后一个’h’不用替换。

输入格式:

共1行,1个字符串,长度不超过100,由大小写英文字母和英文标点符号组成。

输出格式:

共1行,1个字符串,表示经过编辑后的字符串。

输入样例:

hill how high hello how hide

输出样例:

hill How HigH Hello How hide

s=input()
x=s. ① ('h')
y=s.rfind('h')
t=s[ ② :y]
t=t. ③ ('h','H')
print(s[0:x+1]+t+s[y: ④ ])

第 3 题 问答题

小石喜欢带有字符“2”、“6”、“8”的车牌号,不喜欢带有数字“4”的车牌号,因此小石设计了一个计算车牌满意值的程序。对于车牌号中的所有字符,字符“2”满意值为 1,字符“6” 满意值为 2,字符“8”满意值为 3,字符“4”的满意值为-2,其他字符的满意值为 0,车牌号的满意值即为其所有字符的满意值之和,例如车牌号“浙 H94286”的满意值为 4,计算某车牌号 满意值的程序代码如下,请补充完整。

dic={"2":1,"4":-2,"6":2,"8":3}
cp=input("请输入车牌号:")
ans=0
for i in range( ① ) :
	ch=cp[i]
	if ② :
		③
print("该车牌号的满意值为:",ans)