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

range()函数的基本用法是什么?( )

A.

生成一个等差数列

B.

生成一个随机数列

C.

生成一个递增数列

D.

生成一个递减数列

第 2 题    单选题

下列哪个python代码段会输出 "10 8 6 4 2" ?( )

A.

for i in range(2, 11, 2):
    print(i, end=" ")

B.

for i in range(10, 1, -2):
    print(i, end=" ")

C.

for i in range(1, 11, 2):
    print(i, end=" ")

D.

for i in range(10, 2, -2):
    print(i, end=" ")

第 3 题    单选题

range() 函数的返回值是什么类型的对象?( )

A.

元组

B.

列表

C.

字典

D.

可迭代对象

第 4 题    单选题

以下Python代码段中,哪一项可以输出“1 2 3 4”?( )

A.

for i in range(1.5, 5):
    print(i)

B.

for i in range(int(1.5), 5): 

    print(i)

C.

for i in range(1, 5.5):

    print(i)

D.

for i in range(2, 6): 

    print(i)

第 5 题    单选题

兴趣小组4位同学分别在python中定义了一个集合,正确的是?( )

A.

set1={1,2,3,['a','b'],'c'}

B.

set2={1:2,3:'a','b':'c'}

C.

set3={1,2,3,('a','b'),'c'}

D.

set4={1,2,3,'a','b','a'}

第 6 题    单选题

水果店现有一个集合set1={'apple','orange','peach'},现在新进香蕉'banana',需要增加集合元素'banana',正确的操作是?( )

A.

set1.append('banana')

B.

set1.add(banana)

C.

set1.remove('banana')

D.

set1.update({'banana'})

第 7 题    单选题

下列Python表达式的值最大的是?( )

A.

math.pow(2,2)

B.

random.random()*3

C.

math.pi

D.

random. randint(2,3)

第 8 题    单选题

利用Python编写程序时,导人random模块后可以随机产生一个大写字母的表达式是?( )

A.

chr(random. randint(65,90))

B.

chr(random.randint(97,122))

C.

chr( random. uniform(65,90))

D.

chr( random. uniform(97, 122))

第 9 题    单选题

有如下Python程序段,程序运行后,列表list1可能的值是?( )

import random
list1=[0]*6
i=0
while i<6:
    if i%2==0:
        list1[i]=int(random.random()*10)
    else:
        list1[i]=random.randint(1,5)*2+1
    i+=1
A.

[0,10,2,9,8,3]

B.

[8,5,4,7,10,3]

C.

[4,11,3,5,9,6]

D.

[6,3,1,11,7,3]

第 10 题    单选题

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

import jieba
a="人定胜天鸿鹄之志"
lk=jieba.cut(a,cut_all=True)       #全模式分词
s=" ".join(lk)
print(s)
A.

人定胜天 鸿鹄之志

B.

人定 人定胜天 鸿鹄 鸿鹄之志

C.

['人定','人定胜天','鸿鹄','鸿鹄之志']

D.

人定胜天鸿鹄之志

第 11 题    单选题

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

A.

list1.pop(1)

B.

list1.remove(1)

C.

del list1[1]

D.

list1.clear()

第 12 题    单选题

以下哪个选项可以创建一个Python列表,包含数字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)]

第 13 题    单选题

各评委对某选手的评分为83,85,87,75,95,87,88,90,79,80。在核对成绩时发现有误,错误录入的得分为score=[83,85,87,75,95,87,88,89,70,98],以下选项中能实现正确修改的是?( )

A.

score[7:10]=[89,70,98]

B.

score[7:9]=[89,70,98]

C.

score[8:10]=[89,70,98]

D.

score[8:]=[89,70,98]

第 14 题    单选题

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

a=['1','2','3']
b=[1,2,3]
d=dict(zip(a,b))
print(d)
A.

{'1': 1, '2': 2, '3': 3}

B.

{1: 1, 2: 2, 3: 3}

C.

抛出异常

D.

{1: '1', 2: '2', 3: '3'}

第 15 题    单选题

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

chengji={'English':90,'Chinese':99,'Python':80}
result=chengji.get('python','木有')
print(result)
A.

None

B.

-1

C.

木有

D.

报错

第 16 题    单选题

print('\x45')的结果是?( )

A.

\x45

B.

'\x45'

C.

A

D.

E

第 17 题    单选题

求执行下列Python操作后的正确结果?( )

url='www.baidu.com'

print(url.upper())

A.

Www.baidu.com

B.

WWW.BAIDU.COM

C.

Www.Baidu.COM

D.

www.baidu.com

第 18 题    单选题

运行下列Python代码,正确的结果是?( )

 >>>s='3.1415926'

 >>>s.find('15')

A.

3

B.

4

C.

5

D.

-1

第 19 题    单选题

执行下列语句,得到的结果是?( )

print('{0:.3f}'.format(0.333333333333))

A.

0.3

B.

0.33

C.

0.333

D.

00.333

第 20 题    单选题

求两位数之内能被4整除,或能被7整除的所有数,正确的列表推导式是?( )

A.

print([i for i in range(10, 100) if i % 4 == 0 or i % 7 == 0])

B.

print([i for i in range(10, 100) if i % 4 == 0 and i % 7 == 0])

C.

print([i for i in range(10, 101) if i % 4 == 0 or i % 7 == 0])

D.

print([i for i in range(100) if i % 4 == 0 or i % 7 == 0])

第 21 题    单选题

运行下列Python程序,得到的结果是?( )

students=["张三","李四","小明"]
scores=[95,98,92]
for i, j in zip(students, scores):
    print(i, j, end=' ')
A.

张三  95  李四  98  小明  92

B.

“张三” 95  “李四” 98 “小明” 98

C.

张三 李四 小明 95 98 92

D.

“张三” “李四” “小明” 95 98 92 

第 22 题    单选题

下列不能实现将字符串变量str1="我爱学习"逆序成“习学爱我”的Python语句是?( )

A.

str1[::-1]

B.

str1[3:0:-1]

C.

str1[3::-1]

D.

str1[-1::-1]

第 23 题    单选题

下列选项中,哪一个是元组的定义方式?( )

A.

[1,2,3]

B.

(1,2,3)

C.

{1,2,3}

D.

"1,2,3"

第 24 题    单选题

下列选项中,哪一个是访问元组中特定元素的方法?( )

A.

调用sort()函数

B.

调用append()函数

C.

调用pop()函数

D.

使用索引值

第 25 题    单选题

运行下列Python代码,正确的结果是?( )

a = [1, 2, 3]
b = list(map(lambda x: x * 2, a))
print(b)
A.

[1,2,3]

B.

[2,4,6]

C.

(2,4,6)

D.

None

判断题
第 26 题    判断题

李同学定义了一个列表list1=[1,2,'a','a'] ,再使用set1=set(list1),两者存储元素相同。( )

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

集合中可以包含数字、字符串、元组、列表等数据。( )

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

表达式“int(random.random()*50)*2+1”将随机生成一个[0,100]范围内的奇数。( )

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

运行以下Python代码,输出结果为:('basketball',99)。( )

numbers={'football':90,'basketball':99,'robot':80}
result=numbers.pop('basketball')
print(result)
A.
正确
B.
错误
第 30 题    判断题

字符串属于可变序列,可以直接对字符串对象进行元素增加、修改与删除等操作。( )

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

有如下字符串s="Hello World!", 则s.find('h')返回值为0。( )

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

执行语句x,y,z=map(str,range(3)),可依次对x,y,z变量赋值"0","1","2"。( )

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

可以使用insert()函数,向元组中添加元素。( )

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

当列表增加或删除元素时,列表对象自动进行内存的扩展或收缩,从而保证相邻元素之间没有缝隙。( )

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

range()函数可以用于生成一个包含浮点数的数列。( )

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

统计单词:

小明想编写一个程序来统计一段文字中每个单词出现的次数,这样可以方便他更好的记忆文章内容。他希望能够输入一段文字后,程序就输出每个单词及其出现的次数。请在下面程序段空白处填上正确内容以实现程序功能。

要求:

输入一段文字,程序将统计每个单词出现的次数并输出每个单词及其出现的次数。

样例:
请输入一段文字:the quick brown fox jumps over the lazy dog
文字中每个单词出现的次数如下:
the: 2
quick: 1
brown: 1
fox: 1
jumps: 1
over: 1
lazy: 1
dog: 1

程序如下:

text = input("请输入一段文字:")

word_count = {}
words = text.split()
for word in                  :
    if word in word_count:

                      

    else:
                      
print("文字中每个单词出现的次数如下:")
for word, count in word_count.items():
    print("{}: {}".                (word, count))

第 37 题    问答题

Base64 编码

小王在学习信息技术时,对编码产生了浓厚的兴趣,她听老师说Base64 编码是计算机常见的一种编码方式,于是她决定尝试自己编写一个简单的Base64 编码工具。经过她的研究,发现Base64 编码规则是把 3 个字节(24 位)的数据按 位一组分成4(24÷6=4),然后将每组数据分别转换为十进制,根据图 1 将这些十进制数所对应的字符连接,即为 Base64 编码。

 

以编码字符Win为例,如图 2 所示,字符Win对应的 ASCII 编码分别是 87105110分别转换为8位二进制数,按 6 位二进制数分组后再转换成十进制,查找它们对应的字符,得到 “Win Base64编码为V2lu

 

编写一个 Python 程序,实现上述功能。程序运行时,输入若干个字符(个数必须是 倍数),输出 Base64 编码。实现上述功能的 Python 代码如下,请在划线处填入合适的代码。

s1=input("请输入编码字符:")

tmp=0

s=""

ans=""

Base64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

for x in s1:

                    

    t=""

    for i in range(8): #将十进制数 n 转换为 8 位二进制

        r=n%2

                        

        n=n//2

    s=s+t

for i in range(len(s)): #6位二进制一组转换成十进制,查找 Base64 对应字符

                    

    if i%6==5:

        ans=ans+Base64[tmp]

                        

print("Base64编码:",ans)

第 38 题    问答题

找缺失数:

在一个学校的年度校园活动中,组织者需要为参与者分配不同的编号,以便进行抽奖和其他活动。他们决定使用长度为n-1的列表a来存储参与者的编号,这些编号是从1n整数,且没有重复。现在,他们需要找出在区间[1,n]范围内没有出现在列表a中的那个整数,以便为这个编号进行特别的奖励。如当n=5,a[0]=3,a[1]=4,a[2]=1,a[3]=5,列表a缺失的数为2

 

python代码如下,请在划线处填上合适的代码.

from random import randint

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

a=[]

c=1

while c<n:

     x=randint(1,n)

     if                  :

         a.append(x) 

                         

s=n*(n+1)//2    #s得到1~n的累加和

for i in range(n-1):

                    

print(a)

print("列表中缺失的数为:",s)

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