2024年6月青少年软件编程Python等级考试(五级)真题试卷
剩余时间 --:--:--
单选题 共 25 题
1.

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

2.

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

3.

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

4.

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

5.

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

6.

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

7.

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

8.

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

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
10.

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

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

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

12.

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

13.

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

14.

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

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

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

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

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

17.

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

url='www.baidu.com'

print(url.upper())

18.

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

 >>>s='3.1415926'

 >>>s.find('15')

19.

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

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

20.

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

21.

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

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

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

23.

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

24.

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

25.

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

a = [1, 2, 3]
b = list(map(lambda x: x * 2, a))
print(b)
判断题 共 10 题
1.

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

2.

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

3.

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

4.

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

numbers={'football':90,'basketball':99,'robot':80}
result=numbers.pop('basketball')
print(result)
5.

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

6.

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

7.

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

8.

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

9.

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

10.

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

问答题 共 3 题
1.

统计单词:

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

要求:

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

样例:
请输入一段文字: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))

2.

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)

3.

找缺失数:

在一个学校的年度校园活动中,组织者需要为参与者分配不同的编号,以便进行抽奖和其他活动。他们决定使用长度为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)

C++ 编辑器
输入
输出