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

以下哪个方法用于向字典中添加或修改键值对?( )

A.

dict.append()

B.

dict.update()

C.

dict.remove()

D.

dict.insert()

第 2 题    单选题

下列哪个操作不是字典类型的标准方法或属性?( )

A.

dict.keys()

B.

dict.getall()

C.

dict.items()

D.

dict.values()

第 3 题    单选题

集合类型中用于向集合中添加多个元素的方法是?( )

A.

extend()

B.

Add()

C.

update()

D.

add()

第 4 题    单选题

若有一个集合 s = {1, 2, 3, 4},要删除集合中的元素2,以下哪个操作是正确的?( )

A.

s.remove(2)

B.

s.delete(2)

C.

s.pop()

D.

s.pop(2)

第 5 题    单选题

下面Python程序运行结果是?( )

s=(1,2,3,4,[5,6])
s[4][1]=7
print(len(s))
A.

2

B.

5

C.

6

D.

4

第 6 题    单选题

执行下面Python程序段输出结果?( )

>>>import math
>>>math.gcd(16,24)
A.

8

B.

16

C.

24

D.

32

第 7 题    单选题

执行下列python程序语句,输出结果说法正确的?( )

>>>import random
>>>random.randint(1,100)
A.

输出结果为1到100的随机整数,包括1但不包括100

B.

输出结果为1到100的随机整数,包括1和100

C.

输出结果为1到100的随机整数,不包括1和100

D.

输出结果为1到100的随机整数,不包括1但包括100

第 8 题    单选题

Python中,下列哪个选项是random库中用于生成随机浮点数的函数?( )

A.

randint()

B.

randrange()

C.

random()

D.

getrandbits()

第 9 题    单选题

执行下列Python程序段输出结果为?( )

>>>import math
>>>math.pow(2,4)
A.

8.0

B.

8

C.

16

D.

16.0

第 10 题    单选题

有如下Python程序,请问程序执行结果是?( )

 tup1=([1,2],12,'ab')
tup1[0][1]=23
print(tup1[0][1])
A.

1

B.

2

C.

23

D.

程序出现错误

第 11 题    单选题

为使程序段1和程序段2实现相同的功能,可在划线处填写的Pytho代码是?( )

#程序段1
s=0
 
t=1
 
while t<=6:
 
    s=s+t
 
    _______________
 
print(s)
 
#程序段2
 
s=0
 
for t in range(1,7,2):
 
    s=s+t
 
print(s)

A.

t=2

B.

t=6

C.

t=t+1

D.

t=t+2

第 12 题    单选题

若变量 x 的值为“IT”,变量 y 的值为“技术”,则运行python代码 print(x*2+y),输出的结果是?( )

A.

IITT技术

B.

IT2技术

C.

IT*2+技术

D.

ITIT技术

第 13 题    单选题

字符串a="Happy New Year",则表达式a.find("a")的值是?( )

A.

1

B.

2

C.

1,4

D.

2,5

第 14 题    单选题

有变量a="张三",b="李四",c=10,下列语句不能正确输出“张三和李四是好朋友,他们认识10年了!”的是?( )

A.

print("%d和%d是好朋友,他们认识%d年了!"%(a,b,c))

B.

print(a +"和" + b +"是好朋友,他们认识"+str(c) +"年了!")

C.

print("{}和{}是好朋友,他们认识{}年了!".format(a,b,c))

D.

print("%s和%s是好朋友,他们认识%d年了!"%(a,b,c))

第 15 题    单选题

如下Pthon程序段,可实现输入二进制数,转化成十进制结果。则划线处①代码可填?( )

b=input("请输入二进制数:")
 
b=_____①_____
 
d=0
 
for i in range(len(b)):
 
    d+=int(b[i])*2**i
 
print("十进制结果是:",d)
A.

b[:﹣1]

B.

b[﹣1::1]

C.

b[::﹣1]

D.

b[len(b)﹣1:0:﹣1]

第 16 题    单选题

表达式len(range(1,10))的值是?( )

A.

9

B.

10

C.

1

D.

2

第 17 题    单选题

某Python程序段如下,若想知道0~1000之间(包括0和1000)所有5的倍数的数字之和,划线处应填入的语句是?( )

 s=0
for i in range(________):
    s=s+i
print(s)
A.

5,1001,5

B.

5,1001,1

C.

5,1000,5

D.

5,1000,1

第 18 题    单选题

有下列Python程序段,程序运行后,输出的结果是?( )

s="United by Emotion"
s1=""
for i in range(0,len(s),4):
    c=s[i]
    if ord(c)>=ord("a"):
        c=chr(ord(c)-ord("a")+ord("A"))
        s1=c+s1
print(s1)
A.

UEYON

B.

NOYE

C.

EYON

D.

UEEI

第 19 题    单选题

运行下列python程序,输出结果是?( )

 alist=list(range(1,10))

print(alist[1::3])


A.

[0, 3, 6]

B.

[1, 4, 7]

C.

[2, 5, 8]

D.

[3, 6, 9]

第 20 题    单选题

运行下列python程序,输出结果是?( )

alist=[3,6,9]
for i in alist[::-1]:
    print(i,end=',')
A.

3,6,9,

B.

3,6,9

C.

9,6,3

D.

9,6,3,

第 21 题    单选题

运行下列Python代码,输出结果是?( )

alist=[1,2,3,4,5]
blist=','.join(str(n) for n in alist)
print(blist)
A.

1,2,3,4,5

B.

1 2 3 4 5

C.

[1,2,3,4,5]

D.

"1,2,3,4,5"

第 22 题    单选题

运行下列Python代码,输出结果是?( )

alist=['语文','数学','编程']
blist=['96','98','100','95']
c=list(zip(alist,blist))
print(c)
A.

[['语文', '96'], ['数学', '98'], ['编程', '100']]

B.

[('语文', '96'), ('数学', '98'), ('编程', '100')]

C.

[('语文', 96), ('数学', 98), ('编程', 100)]

D.

(('语文', '96'), ('数学', '98'), ('编程', '100'))

第 23 题    单选题

小森在收集考试报名数据时,经常遇到姓名前后有空格的情况。他想利用Python语言写一段程序帮助自己获得准确的数据。

他想利用集合推导式来创建一个集合,保存处理好的姓名数据。请选择最合适的一个选项中的语句?( )

A.

print({i.lstrip() for i in (' 刘备','关羽 ',' 张飞 ')})

B.

print({i.rstrip() for i in (' 刘备','关羽 ',' 张飞 ')})

C.

print({i.strip() for i in (' 刘备','关羽 ',' 张飞 ')})

D.

print({i.split() for i in (' 刘备','关羽 ',' 张飞 ')})

第 24 题    单选题

下列选项中,与列表推导式my_list=[n**2 for n in range(6)]功能不相同的是?( )

A.

list1=[n**n for n in range(6)]

B.
list2=[]
for n in range(6):
    list2.append(n*n)
C.

list3=list(map(lambda n:n**2,range(6)))

D.

list4=list(map(lambda n:pow(n,2),range(6)))

第 25 题    单选题

下面是一段关于生成器推导式的Python代码,运行该代码段后的输出结果是?( )

ge=(kemu for kemu in ('语文','数学','英语','编程'))
print(list(ge))
print(tuple(ge))
print(set(ge))
A.

['语文', '数学', '英语', '编程'] 

('语文', '数学', '英语', '编程') 

{'语文', '数学', '英语', '编程'}

B.

['语文', '数学', '英语', '编程']

     ('语文', '数学', '英语', '编程')

     set()

C.

['语文', '数学', '英语', '编程']

     ()

     set()

D.

['语文', '数学', '英语', '编程']

    () 

{}

判断题
第 26 题    判断题

字典中的键必须是唯一的。( )

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

集合类型中的元素不允许重复。( )

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

要判断一个元素是否在集合中,可以使用 in 关键字,如:x in s。( )

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

元组t=([1,2],'a','b')执行语句t[0][2]=3,元组t=([1,2,3],'a','b')。( )

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

函数 time.time() 用于获取当前时间戳,时间间隔是以小时为单位的浮点小数。( )

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

表达式"Python2024">"python"返回值为True。( )

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

某Python程序段如下,执行之后,输出内容为hello,java,java,python。( )

s1="hello,python,python,python"
prnt(s1.replace("python", "java", 2))
A.
正确
B.
错误
第 33 题    判断题

运行下列Python代码,输出结果为0。( )

a=[6,6,6]
b=a.remove(6)
c=a.count(6)
print(c)
A.
正确
B.
错误
第 34 题    判断题

序列解包可以用在列表、元组等序列数据类型对象中,字典这种映射数据类型不可以用。( )

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

可以直接使用list(range(5))将其转换为列表[0, 1, 2, 3, 4]。( )

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

记录任务

题目描述:小明想编写一个Python程序来记录他每天的学习任务完成情况。他希望在输入每天完成的任务个数后,能够查看一周内完成任务的总情况。为了实现这个目标,请在下面程序空白处填上正确内容以实现程序功能。

要求:

(1)小明依次输入一周内每天完成的任务数,程序将这些任务记录下来;

(2)程序会逐个输出一周内的任务完成情况,以及统计并输出一周内完成的任务总数。

tasks = []
for i in range(1, 8):
    task =        ①        ("请输入第{}天完成的任务:".format(i))
 
            ②        
 
print("一周内的任务完成情况如下:")
for i in range(7):
    print("第{}天完成的任务:{}".format(        ③        , tasks[i]))
total_tasks = sum(int(task) for task in tasks)
print("一周内完成的任务总数为:",         ④        )

第 37 题    问答题

注册用户

一个网站在注册新用户时,对用户名和密码的要求如下:

(1)用户名必须是以数字1开头的11位纯数字;例如:12345678912

(2)密码长度6——20,必须包含英文字母、数字。例如:python123

(3)输入一个QQ邮箱,以备找回密码。例如147258369@qq.com,qq号为纯数字,以qq.com结尾。

小华编写一个Python程序,首先验证一下准备使用的账号密码是否符合该网站的要求。

请补全下列Python程序,实现此功能。

name=input('请输入准备使用的账号:')
password=input('请输入准备使用的密码:')
mail=input('请输入准备使用的邮箱:')
name_check=False
password_check=False
mail_check=False
if name.isdigit() and len(name)==11 and        ①        :
    name_check=True
if password.isalnum() and (        ②        ):
    password_check=True
if mail.endswith("@qq.com"):
    mail_name=        ③        
    if mail_name.isdigit():
        mail_check=True
if name_check and password_check and mail_check:
    print('账号、密码、邮箱均符合要求,可以注册!')
elif name_check==False:
    print('账号不符合要求,请重新填写!')
elif         ④        :
    print('密码不符合要求,请重新填写!')
elif mail_check==False:
    print('邮箱不符合要求,请重新填写!')
else:
    print('未知情况,请重新填写!')


———————分割线,以下为程序输入输出结果————————— 

请输入准备使用的账号:12345678912

请输入准备使用的密码:python123

请输入准备使用的邮箱:147258369@qq.com

账号、密码、邮箱均符合要求,可以注册!

第 38 题    问答题

参赛作品

小林为选出班级中平均分最高的参赛作品,编写Python程序,算法设计如下:

(1)5位评委对3个作品的评分数据存储在列表data中(数据由3位十进制数组成,第1位对应作品号,后2位对应作品得分,如“275”表示2号作品得分75)

(2)统计并输出3个作品的平均分(保留一位小数),选择平均分最高的作品为参赛作品,若最高平均分存在并列,则输出全部并列的最高平均分作品号。程序运行界面如下图所示。 

程序如下。请在划线处填入合适的代码: 

data=[180,283,385,170,276,384,180,285,380,190,295,390,170,272,372]
 
s={1:0,2:0,3:0} 
ans=[]
max_zp=0
for c in data:
 
    zp=        ①        
    fs=c%100
            ②        
for i in range(1,4):
            ③        
    print('作品',i,'平均分为',s[i])
    if s[i]>max_zp:
        max_zp=s[i]
for i in range(1,4):
    if           ④        :
        ans.append(i)
 
print('平均分最高作品号是:',ans)

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