试卷 2023年9月青少年软件编程Python等级考试(五级)试卷
2023年9月青少年软件编程Python等级考试(五级)试卷
单选题
第 1 题    单选题

阅读以下代码,程序输出结果正确的选项是?( )

def process_keywords(keywords_list):
    unique_keywords = list(set(keywords_list))
    sorted_keywords = sorted(unique_keywords)
    result = tuple(sorted_keywords)
    return result
keywords = ["节约能源", "循环利用", "清洁能源", "减少污染", "植树造林","清洁能源"]
print(process_keywords(keywords))
A.

('节约能约', '循环利用', '减少污染', '清洁能源', '减少污染')

B.

('循环利用', '植树造林', '减少污染', '清洁能源', '清洁能源')

C.

('减少污染', '循环利用', '植树造林', '清洁能源', '节约能源')

D.

('植树造林', '循环利用', '节约能源', '清洁能源', '节约能源')

第 2 题    单选题

下列不可以正确输出语句"我叫 小明 今年 10 岁!"的Python语句的是?( )

A.

print ("我叫{name}今年{age}岁!" .format (age=10,name='小明'))

B.

print ("我叫{}今年{}岁!" .format('小明', 10))

C.

print ("我叫%s今年%s岁!" % (10,'小明'))

D.

print ("我叫%s今年%d岁!" % ('小明', 10))

第 3 题    单选题

字符串变量s中存有小李身份证号码(s="331004200608160037",其中7至14位"20060816"代表出生日期)。若想提取小李身份证中的出生日期,下列Python表达式有错误的是?( )

A.

s[-12:-4]

B.

s[6:14]

C.

s[7:15]

D.

s[6:-4]

第 4 题    单选题

Python表达式("5"+"2")*2的运算结果是?( )

A.

14

B.

"5252"

C.

"522"

D.

语法错误,程序报错

第 5 题    单选题

以下程序的输出结果是?( )

dict = {'Name': 'Angel', 'Age': 8}

print(dict.items())

A.

dict_items([('Age', 8), ('Name', 'Angel')])

B.

[('Age', 8), ('Name', 'Angel')]

C.

('Age', 8), ('Name', 'Angel')

D.

'Age':8, 'Name': 'Angel'

第 6 题    单选题

下面代码的执行结果是?( )

knights = {'孙坚': '江东猛虎', '孙策': '小霸王'}

for k, v in knights.items():

    print("大将:{},绰号:{}".format(k, v))

A.

大将:孙坚,绰号:江东猛虎
大将:孙策,绰号:小霸王

B.

大将:孙坚,大将:孙策

C.

大将:孙坚,绰号:孙策

D.

绰号:江东猛虎,绰号:小霸王

第 7 题    单选题

下面的集合推导式将会生成什么集合?( )
st = {x%2 for x in range(10)}

A.

{0, 1}

B.

{0, 2, 4, 6, 8}

C.

1, 3, 5, 7, 9}

D.

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

第 8 题    单选题

以下哪个选项可以创建一个集合,包含 1 到 10 的奇数?( )

A.

{x for x in range(1, 11)} if x % 2 != 0

B.

{x for x in range(1, 11) if x % 2 != 0}

C.

[x for x in range(1, 11) if x % 2 != 0]

D.

[x for x in range(1, 11)] if x % 2 != 0

第 9 题    单选题

以下哪个选项可以创建一个列表,包含数字 1 到 10 的平方?( )

A.

[x*x for x in range(1, 11)]

B.

{x*x for x in range(1, 11)}

C.

(x*x for x in range(1, 11))

D.

<x*x for x in range(1, 11)>

第 10 题    单选题

下列哪个选项是正确的列表切片操作?( )

A.

list[1:3]

B.

list[1,3]

C.

list[1-3]

D.

list[1+3]

第 11 题    单选题

下面哪个选项是用于获取列表中元素个数的方法?( )

A.

length()

B.

size()

C.

count()

D.

len()

第 12 题    单选题

假设有一个列表l= [1, 2, 3, 4, 5],下面哪个操作可以移除列表中的第一个元素?( )

A.

l. pop(1)

B.

l.remove(1)

C.

del l[1]

D.

l.clear()

第 13 题    单选题

下列哪个选项是正确的关于Python列表的定义?( )

A.

列表是有序的、可变动的元素集合

B.

列表是有序的、不可变动的元素集合

C.

列表是无序的、可变动的元素集合

D.

列表是无序的、不可变动的元素集合

第 14 题    单选题

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。下面可以正确打印三位回文数的语句是?( )

A.

print(i for i in range(100,999) if str(i) == str(i)[::-1])

B.

print([i for i in range(1,1000) if str(i) == str(i)[::-1]])

C.

print([i for i in range(1,999) if str(i) == str(i)[::-1]])

D.

print([i for i in range(100,1000) if str(i) == str(i)[::-1]])

第 15 题    单选题

学校气象站记录了周一到周日的PM2.5的数据
    pminfo=[82,57,91,67,103,79,99]
根据需求,输出周日、周六、周五三天PM2.5数据的程序代码是?( )

A.

print(pminfo[7:5:-1])

B.

print(pminfo[-1:3:-1])

C.

print(pminfo[-1:5:7])

D.

print(pminfo[5:7:-1])

第 16 题    单选题

Python使用range可以创建数值列表。下面可以正确输出600以内6的倍数的语句是?( )

A.

print(list(range(100, 600, 6)))

B.

print(list(range(0, 600, 10)))

C.

print(list(range(1, 601, 6)))

D.

print(list(range(6, 601, 6)))

第 17 题    单选题

下列程序的功能是?( )

 for i in range(100,1,-2): 

    print(i)

A.

顺序输出1-100以内的偶数

B.

顺序输出1-100以内的奇数

C.

倒序输出1-100以内的奇数

D.

倒序输出1-100以内的偶数

第 18 题    单选题

若要计算圆的面积,下列表达式肯定错误的是?( )

A.

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

B.

s=math.pi*r**2

C.

s=math.pi*r*r

D.

s=math.pi*r^2

第 19 题    单选题

小张编写一款石头剪子布游戏时,导入random库并将b赋值为["剪刀","石头","布"],不能实现随机产生b列表中一个元素的表达式是?( )

A.

b[random.random()*3]

B.

random.sample(b,1)

C.

b[random.randint(0,2)]

D.

random.choice(b)

第 20 题    单选题

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

A.

分词

B.

数据可视化

C.

计算

D.

画图

第 21 题    单选题

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

A.

整形

B.

实型

C.

字符串类型

D.

列表类型

第 22 题    单选题

tuple1 = ('aa', 'bb', 'cc', '22'),则tuple1.index('22')的值是?( )

A.

1

B.

2

C.

3

D.

4

第 23 题    单选题

下列代码的运行结果是?( )

tup = (1, 2, 3, 4, 5)     
tup[2] = 10   
print(tup)
A.

(1, 2, 3, 4, 5)

B.

(1, 2, 10, 4, 5)

C.

(1, 10, 3, 4, 5)

D.

抛出TypeError的异常

第 24 题    单选题

给定一个集合 s = {1, 2, 3, 4, 5},以下哪个选项可以实现从s 中移除所有偶数元素的功能?( )

A.

{x for x in s if x % 2 == 0}

B.

s.filter(lambda x: x % 2 == 0)

C.

{x % 2 != 0 for x in s}

D.

set(filter(lambda x: x % 2 != 0, s))

第 25 题    单选题

运行代码print(r"\nPython")的结果是?( )

A.

直接输出:"\nPython"

B.

直接输出:\nPython

C.

直接输出:Python

D.

先换行,然后在新的一行中输出:Python

判断题
第 26 题    判断题

集合类型中的元素必须是唯一的。( )

A.
正确
B.
错误
第 27 题    判断题

有字符串s=“happy national day”,s.find('na')返回值为-1。( )

A.
正确
B.
错误
第 28 题    判断题

可以通过update()方法将一个字典的内容添加到另一个字典中。( )

A.
正确
B.
错误
第 29 题    判断题

[x for x in range(5)] 是一个列表推导式。( )

A.
正确
B.
错误
第 30 题    判断题

Python中的列表是可变的数据类型。( )

A.
正确
B.
错误
第 31 题    判断题

有如下Python程序段:
s=0
for i in range(1,11):
    if i%5==3:
        continue
    s+=i
执行程序后,输出s的值是52。( )

A.
正确
B.
错误
第 32 题    判断题

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

A.
正确
B.
错误
第 33 题    判断题

元组是Python的不可变序列类型,意味着一旦你创建了一个元组,就不能进行插入、删除等操作。( )

A.
正确
B.
错误
第 34 题    判断题

集合是有序的数据结构,可以根据元素的插入顺序进行遍历。( )

A.
正确
B.
错误
第 35 题    判断题

小明想单独输出一个双引号,可以使用语句print("\"")进行输出。( )

A.
正确
B.
错误
编程题
第 36 题    问答题

已知有一些学生数据,每名学生的信息是一个字典。所有学生信息放在列表中。

1)计算每个学生的平均分(语文+数学+英语)/3,并对平均分取整,追加到其字典;

2)根据学生的平均分从低到高排列;

3)输出每位学生的学号和平均分。

输出格式如下:

20230103:72
20230102:82
20230101:92

程序模板如下:

students= [{'学号':'20230101','语文': 90,'数学':95,'英语':92},{'学号':'20230102','语文': 80,'数学':85,'英语':82},{'学号':'20230103','语文': 70,'数学':75,'英语':72}]

for student in students:
                        

students.sort(key = lambda x:x['
平均分'],reverse = False)
for student in students:
    print('{}:{}'.format(                ,                ))

第 37 题    问答题

信息科技社团正在进行一种字符串扩展的实验,实验操作方法如下:
1)给定一个初始字符串s,筛选出其中的大小写字母,生成新的字符串x
2)将字符串x最后一个字符删除,生成一个新的字符串y
3)将字符串x的右边最后一个字符拼接到字符串x的末尾;
4)将字符串y拼接到字符串x的末尾。
按照(2)-(4)步骤重复操作,每一步将当前字符串的长度加倍,直到字符串x长度达到n

给定初始字符串和n,请帮助社团同学们计算扩展的字符串中第n个位置的字符。

s=“c1ar23”,n=8 为例
c1ar23  -->  car --> carrca --> carrcaacarrc
8个位置上的字符'c',则输出为c

输入格式:

第一行,一个字符串s(长度不超过20

第二行,一个整数n1<=n<=100

 

输入样例:

c1ar23

8

 

输出格式:

一个字符,表示扩展的字符串中的第n个字符。

 

输出样例:

c

 

s=input()

n=int(input())

x=""

for i in s:

    if ((i>='A' and i<='Z')                 ):

       x=x+i

xn=len(x)

while xn<n:  

    y=x.replace(                , '')

    x=x+x[-1]

    x=x+y

    xn=                

print(                )

第 38 题    问答题

编写Python程序,要求输出区间[m,n]内所有素数的和,实现上述功能的 Python 程序如下,请在划线处填入合适的代码。

def isPrime(num):           #判断素数

    num=int(num)

    for i in range(2,num):

        if                :

            return False

    if num!=1:

        return True

def PrimeSum(a,b):

    sum=0

    for i in range(a,b+1):

        if isPrime(i):

                            

    return sum

m=int(input("m:"))

n=int(input("n:"))

print(                )

答题卡
单选题
判断题
编程题
36 37 38
题目总数:38
总分数:100
时间:120分钟