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

以下代码的输出结果是?( )

nums = list(range(100, 201))

print(nums[::10])

2.

以下代码的输出结果是?( 

def count_odd_numbers(n):
    return len([num for num in range(n) if num % 2 != 0])
print(count_odd_numbers(20))
3.

以下Python代码的输出结果是?( )

for i in range(5):
    print(' '*(5-i) + '*'*(2*i+1))
4.

运行以下Python代码的结果是?( 

nums = range(1, 11)
sliced_nums = nums[2:8]
result = sum(sliced_nums) * 3
print(result)
5.

集合a={1,2,3,4,5,6}b={1,3,5,7,9},则a&b的结果是?( )

6.

下列程序的运行结果?( 

a={6,5,4,3,2,1}
a.remove(1)
print(a)
7.

智慧种植社团想要确定农植园西红柿元组的最大值,可以使用下列方法?( 

8.

统计黑色"black"在当前pen元组中出现的次数

pen=('blue','black','red','black','blue','black')

print(pen.count('black')) 

输出的结果是?( )

9.

科学课上,王老师做了一个实验,一张纸对折1次厚度是原来的2倍,对折2次厚度是原来的4倍,对折3次厚度是原来的8倍,…依此类推,对折n次后,厚度是原来的多少倍?( )

10.

有关中文分词jieba库的描述,错误的是?( )

11.

石头剪刀布游戏,规则如下:石头胜剪刀,剪刀胜布,布胜石头。编写 Python 程序模拟石头剪刀布游戏,并判定游戏的输赢,代码中数字 0 代表石头,数字 1 代表剪刀,数字 2 代表布。模拟玩家A出拳的python程序代码是?( )

12.

Pythonwordcloud库把词云当作一个WordCloud对象。

向阳小学阅读社团计划编写一个读书笔记的词云,根据笔记的数量,计划使用以下哪个指令自定义设置词云的图片尺寸参数?(

13.

以下哪个选项可以添加一个键值对到字典中?( 

14.

以下哪个选项可以删除字典中指定的键值对?( 

15.

执行下列Python代码的结果是?( 

>>> a = "3.1415926"
>>> b = 6
>>> c = "<"
>>> print("{0:{2}.{1}}".format(a,b,c))
16.

字符串变量str = 'Wfall0343',执行语句print(str.find('3')),输出的结果是?( )

17.

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

18.

str1 = '*@python@*', 语句print(str1[1:].strip('@'))的执行结果是?( )

19.

Python程序段如下:

s=["seasons","spring","summer","fall","winter"]
print(s[1][2:6])

程序运行后,输出的结果是?( 

20.

Python程序段如下:

lis=[11,22,33,44,55]
lis[2],lis[3]=lis[3],lis[2]
print(lis)

程序运行后,输出的结果是?( 

21.

已知列表Lista[1,2,3,4],执行语句Lista[2]Lista后,列表Lista中的元素为?( )

22.

已知list1list("php"),执行语句list1[2]list("Python")后,列表list1中的内容为?( )

23.

Python程序段如下:

import random
a=[random.randint(1,5)*2 for i in range(5)]
print(a)

程序运行后,输出结果不可能是?( 

24.

Python程序段如下: 

l= ["python" +i+"级" for i in "一二三四五六"]
print(l[4])

程序运行后,输出结果是?( 

25.

闰年是公历中的名词,分为普通闰年和世纪闰年。普通闰年是4年一次,若公历年份是4的倍数且不是100的倍数则为普通闰年(如2004年、2020年就是普通闰年),现在想输出1949年到今年(2024年)之间的所有普通闰年,正确的列表推导式是?( )

判断题 共 10 题
1.

以下代码的输出结果是 48。( )

nums = range(1, 9)

result = sum([num for num in nums if num % 3 != 0]) * 2 - 6

2.

Python中,可以仅仅使用一对空的花括号{}来创建集合。( )

3.

无法通过引用索引来访问集合中的元素,但是可以用for循环来遍历集合中的元素。( )

4.

科技社团将个人信息定义为元组,使用小括号,数据可以是不同的数据类型,各个数据之间用逗号隔开。( 

5.

Jieba是优秀的中文分词第三方库,jieba.cut(s)精确模式,可以把文本精确的切分开,不存在冗余单词。( )

6.

字典中的键必须是唯一的,但值可以重复。( 

7.

print('It's a wonderful day!')的结果是It's a wonderful day!。( )

8.

str="This is a disposable cup"

sub="is" 

print(str.rfind(sub))的结果为5。( )

9.

有列表a=[1,2,3],b=a*3,执行语句print(len(b))输出结果是9。( )

10.

小明想在变量a中存储26个小写字母,但他不想手动输入,可以使用列表推导式[chr(i+97)for i in range(26)]实现。( )

问答题 共 3 题
1.

火柴棍游戏

用火柴棍拼成数字0~9,具体拼法如图所示:

编写Python程序,实现输入火柴棍的数量,输出符合该火柴棍数的三位数组合,若找不到,则输出“没有符合要求的数”,见样例,程序如下: 

请在划线处填入合适代码。

code={0:6,1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6}
num=int(input("请输入火柴棍数量:"))
flag=False
for i in range(        ①        ):
    if         ②        +code[i//10%10]+        ③         ==num:
        print("可以组成的三位数:",i,sep="")
        flag=True
if          ④        :
    print("可以组成的三位数:","没有符合要求的数",sep="")
2.

得分处理

智龙是一名篮球队的教练,为了方便对球员进行精准分析,他需要记录球队每个队员的得分,并按照得分从高到低进行排序。请你帮助他完成以下任务:

1)创建一个空的列表 scores,用于存储队员的得分;

2)使用循环,依次输入每个队员的得分,将得分添加到 scores 列表中;当输入“stop”时停止输入。

3)使用 sorted() 函数对 scores 列表进行排序,得到一个新的列表 sorted_scores,按照得分从高到低排序;

4)打印出排序后的队员得分。

程序代码如下,请你补全Python代码。

scores=        ①        
while True:
    score =        ②        ("请输入队员的得分(输入stop字符串结束):")
    if score == "stop":
             ③        
    scores.append(int(score))
sorted_scores =        ④        
print("排序后的队员得分:", sorted_scores)
3.

知识竞赛活动

 学校开展“学宪法"知识竞赛活动,其中有一项任务为完成“学宪法”答卷记得分。答卷含有5个客观题和5个主观题,其中客观题1-4题为单选题,第5题为多选题,单选题每题分值为2分;多选题全对得2,漏选、少选得1,多选错选不得分。为了提高改卷效率,学校信息技术组的老师设计并编写了一个Python小程序,输入客观题正确答案和答卷上的答案,即可计算得分。实现上述功能的Python程序如下,运行界面如图所示。

 

请输入客观题(5道)标准答案:AABDACD

请输入客观题(5道)题学生答案:ABBDAC

该学生客观题得分为:7

实现上述功能的 Python 程序如下,请在划线处填入合适的代码。

 

def judge(x,y):
 
    f=True
 
    i=0
 
    while i<len(y):
 
        if y[i] not in x:
 
                    ①        
 
            break
 
        i+=1
 
    return f
 
num=0
 
key=input("请输入客观题(5道)标准答案:")
 
s=input("请输入客观题(5道)题学生答案:")
 
for j in range(5):
 
    if j==4:
 
        if key[j:len(key)]==s[j:len(s)]:
 
            num+=2
 
        elif        ②        :
 
            num+=1
 
    else:
 
        if s[j]==key[j]:
 
                    ③        
 
print("该学生客观题得分为:"+        ④        +"分")

C++ 编辑器
输入
输出