2024年9月青少年软件编程Python等级考试(二级)真题试卷

题目总数:37    总分数:100

选择题

第 1 题    单选题

a = ['甲','乙','丙','丁','子','丑'] 

print(a[4])

以上Python代码的输出是?( )

A.丁

B.['丁']

C.['子']

D.子

 答案D

 解析列表的下标从0开始,所以是第五个元素'子',元素是不带[]的,所以选D

第 2 题    单选题

Python语句",".join("新年快乐")的运行结果是?( )

A.

'新,年,快,乐'

B.

'新年快乐'

C.

'新 年 快 乐'

D.

'新、年、快、乐'

 答案

A

 解析

本题考察的是字符串str.join(iter)方法,该方法的作用是在iter变量除最后元素外每个元素后增加一个str。例如",".join("12345") 结果为"1,2,3,4,5"。

第 3 题    单选题

Python语句"I like program".replace("m","mming") 的运行结果?( )

A.

'I like program'

B.

'I like programming'

C.

'I like programing'

D.

"I like programmming"

 答案

B

 解析

本题考察的是str.replace(old, new)方法,该方法的作用是返回字符串str副本,所有old子串被替换为new。

第 4 题    单选题

ls = ['a', 'b', 'c', 'd', 'e'],下列哪个选项可以将 ls 中的元素顺序整体反转?( )

A.

ls.insert('f')

B.

ls.extend('f')

C.

ls.reverse()

D.

ls.add('f')

 答案

C

 解析

本题考察的是列表元素的反转操作,该操作的方法是ls.reverse()。

第 5 题    单选题

已知 stu = {"一班":"杨思甜", "二班":"赵柏瑞", "三班":"王一乐", "四班":"刘道林"},则输出所有班级及对应姓名(键值对)的Python命令是?( )

A.

print(stu.keys())

B.

print(stu.values())

C.

print(stu.items())

D.

print(stu.clear())

 答案

C

 解析

items()返回字典中所有键值对的信息。

第 6 题    单选题

运行下列Python代码,终端区打印的结果是?( )

 shiju=["众鸟高飞尽,孤云独去闲",'言我独坐之时',"湖光秋月两相和"]
 shiju.remove("潭面无风镜未磨")
 print(shiju)

A.

["众鸟高飞尽,孤云独去闲",'言我独坐之时',"湖光秋月两相和","潭面无风镜未磨"]

B.

["众鸟高飞尽,孤云独去闲",'言我独坐之时',"湖光秋月两相和"]

C.

['众鸟高飞尽,孤云独去闲','言我独坐之时', '湖光秋月两相和']

D.

终端区会报错

 答案

D

 解析

使用remove()方法删除元素时,如果指定的元素不存在,将会报错。故本题答案选D

第 7 题    单选题

已知一个元组planet=('地球',46,('化石','岩石'),["金星","水星","木星","天王星"]) ,要访问元组planet的前3个元素,可以使用以下Python代码?( )

A.

print(planet[1:3])

B.

print(planet[:3])

C.

print(planet[1:3:2])

D.

print(planet[::3])

 答案

B

 解析

元组可以利用切片方式获取指定的元素。print(planet[:3])等价于print(planet[0:3:1]),作用是访问planet的前3个元素;print(planet[1:3])作用是访问planet的第2个和第3个元素;print(planet[1:3:2])作用是访问planet的第2个元素;print(planet[::3])作用是访问planet的第1个和第4个元素。故正确答案为B。

第 8 题    单选题

以下选项中,哪段Python代码不能实现循环10次?(提醒:是不能实现)( )

A.

for i in range(10):

B.

for i in range(1,20,2):

C.

for i in range(1,20):

    i=i+2

D.

i=0

while i<10:

    i=i+1

 答案

C

 解析

C选项i循环了19次,i的初始值依次为1、2、3……19,后面虽然进行了i=i+2的计算,但是当再次开始循环的时候,i又被重新赋值为初始值中的相关次数的值。故正确答案为C。

第 9 题    单选题

ls1=['榴莲','芒果','椰子','杨桃','柠檬','百香果','橄榄','木瓜']

ls1.append(['枇杷','火龙果'])

print(ls1)

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

A.

['榴莲','芒果','椰子','杨桃','柠檬','百香果','橄榄','木瓜']

B.

['榴莲','芒果','椰子','杨桃','柠檬','百香果','橄榄','木瓜',['枇杷','火龙果']]

C.

['榴莲','芒果','椰子','杨桃','柠檬','百香果','橄榄','木瓜','枇杷','火龙果']

D.

['榴莲','芒果','椰子','杨桃','柠檬','百香果','橄榄','木瓜','枇杷',['火龙果']]

 答案

B

 解析

列表中使用append()函数,是向原有列表增加一个元素,一个元素可以是整数、浮点数、字符串、列表、元组等。本题中,将一个列表作为一个元素整体增加到ls1列表中。所以选B

第 10 题    单选题

藏头诗,又名“藏头格”,是杂体诗中的一种。藏头诗有三种形式,比较常见的是把每句的第一个字连起来读,可以传达作者的某种特有思想。例如明代徐渭经典的藏头诗,就将“平湖秋月”藏于诗中。阿宝尝试编写程序,将“平湖秋月”从诗中自动提取出来,以下Python程序正确的是?( )

A.

ls=['平湖一色万顷秋','湖光渺渺水长流','秋月圆圆世间少','月好四时最宜秋']

print(ls[0]+ls[1]+ls[2]+ls[3])

B.

ls=['平湖一色万顷秋','湖光渺渺水长流','秋月圆圆世间少','月好四时最宜秋']

print(ls[0][0]+ls[1][0]+ls[2][0]+ls[3][0])

C.

ls=['平湖一色万顷秋','湖光渺渺水长流','秋月圆圆世间少','月好四时最宜秋']

print(ls[0][1]+ls[0][2]+ls[0][3]+ls[0][4])

D.

ls=['平湖一色万顷秋','湖光渺渺水长流','秋月圆圆世间少','月好四时最宜秋']

print(ls[0][0]+ls[1][1]+ls[2][2]+ls[3][3])

 答案

B

 解析

不调用循环直接从列表元素的字符串中提取,正确的结果应为:ls[0][0]+ls[1][0]+ls[2][0]+ls[3][0],第一个代表的是列表中的元素的下标,第二个代表的是字符串中元素的下标。

第 11 题    单选题

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

i=0
s=0
while i<7:
    i=i+1 
    if i%2==0:
        continue
    s=s+i
print('s={},i={}'.format(s,i))

A.

s=16,i=7

B.

s=16,i=6

C.

s=9,i=6

D.

s=9,i=7

 答案

A

 解析

程序i从0开始,取值到6,先将i+1,所以循环体内i的值分别从1到7,当i的值为奇数的时候,将i值累加到s中,所以累加到s中的值是1,3,5,7,s最终的值是16,i的值为7。

第 12 题    单选题

运行这段Python代码,终端区会打印什么结果?( )

nums = (1, 2, 3)
nums[2] = 5
print(nums)

A.

(1, 2, 3)

B.

(1, 2, 5)

C.

(1, 5, 3)

D.

终端区会报错

 答案

D

 解析

元组是不可变的,如果修改元素的值,程序就会报错。

第 13 题    单选题

运行这段Python代码,字典会变成什么样子?( )

cat = {'三花猫':7, '布偶猫':11, '狸花猫':13}
cat['三花猫'] = 5

A.

{'三花猫':7, '布偶猫':11, '狸花猫':13}

B.

{'三花猫':5, '布偶猫':11, '狸花猫':13}

C.

{'三花猫':5, '三花猫':7 ,'布偶猫':11, '狸花猫':13}

D.

程序会报错

 答案

B

 解析

修改了键对应的值后,字典中的值就会改变,因此 7 就会变成 5。

第 14 题    单选题

运行这段Python代码,终端区会打印什么内容?( )

a = 10
if  a > 5:
    a += 20
print(a)

A.

10

B.

20

C.

30

D.

5

 答案

C

 解析

本题目中条件判断的是数字是否大于 5,如果大于,则a 就会在原本的基础上加上 20,所以最后为30。选C

第 15 题    单选题

使用下列哪个Python命令可以把lst变成一个只有整数的列表?( )

 lst = [7, 8, 4, 0, 5, 80, 6.2, 2.9, 11, 3]

A.

del lst[6:7]

B.

del lst[6:8]

C.

del lst[6,8]

D.

del lst[6],lst[8]

 答案

B

 解析

需要从lst = [7, 8, 4, 0, 5, 80, 6.2, 2.9, 11, 3]中删除小数内容,通过观察可发现两个小数挨在一起的,可采用切片删除的方法对列表进行修改,由于切片具有”左闭右开“的特点,即lst[n:m]取到的是列表中下标n到m-1的部分,综上,能完成题目要求的命令应为 del lst[6:8]

第 16 题    单选题

已知列表list = ['鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪'],以下可以输出生肖“龙“的是哪个python语句?( )

A.

print(list[5-12])

B.

print(list[4-11])

C.

print(list[4])

D.

print(list[5])

 答案

C

 解析

列表的索引是从0开始而不是从1开始,故所求元素的索引是4而不是5;负数索引是从-1开始,第一个元素的负数索引值为-12,故所求元素的负数索引是表达式4-12求得;因此,本题答案为选项C。

第 17 题    单选题

已知s = 'python',请问s*2的值是?( )

A.

python*2

B.

'python'*2

C.

pythonpython

D.

'python''python'

 答案

C

 解析

“*”操作符用在字符串中表示重复,“*2”表示重复两次,故选项A、B错误;单引号只是字符串的标记不属于字符串本身,故选项D错误;

第 18 题    单选题

执行以下python语句,可以创建字典的是?( )

A.

dict = {'陕西':'西安','山西':'太原','广西':'南宁','江西':'南昌'}

B.

dict = ('陕西':'西安','山西':'太原','广西':'南宁','江西':'南昌')

C.

dict = ['陕西':'西安','山西':'太原','广西':'南宁','江西':'南昌']

D.

dict = {'陕西':'西安';'山西':'太原';'广西':'南宁';'江西':'南昌'}

 答案

A

 解析

字典必须使用花括号{},并且每对键值对要用逗号隔开。所以选A。

第 19 题    单选题

下列不属于Python流程控制语句的是?( )

A.

if语句

B.

for语句

C.

while语句

D.

do...while语句

 答案

D

 解析

在Python中,if语句、for语句、while语句均属于流程控制语句,python中不支持do ...while语句,故选项D错误,所以本题答案为选项D。

第 20 题    单选题

下列python说法中错误的是?( )

A.

元组和列表都可以存入多个元素,元素可以是字符串、数字等类型

B.

列表中的元素是有序的

C.

元组中的元素和列表一样,可以使用 元组[索引] = 新元素 的方式更改

D.

元组中的元素是有序的且不可变

 答案

C

 解析

元组是不可变的序列,不能通过元组[索引]的方式更改元组中的元素。所以本题正确答案为C。

第 21 题    单选题

李老师在录入学生信息,她将所有的学生基本信息存储到字典info中,info = {'name': '李凯', 'gender': '男', 'height': 170}。若要在字典中增加一个所在年级信息,李老师应该使用下列哪个Python选项?( )

A.

len(info)

B.

info.pop('class')

C.

infor['class'] = '四年级'

D.

info['height'] = '四年级'

 答案

C

 解析

len(info)是查看字典元素的个数,info.pop('class')是删除字典中键为class的键值对,info['height'] = '四年级'是将键为height的值改为'四年级'。所以本题正确答案为C。

第 22 题    单选题

运行下列Python程序,输入85,输出结果为?( )

score = int(input('请输入成绩:'))
if score >= 90:
    print('优秀!')
elif 80 <= score < 90:
    print('良好!')
elif 60<= score < 80:
    print('中等!')
else:
    print('不及格!')

A.

优秀!

B.

良好!

C.

中等!

D.

不及格!

 答案

B

 解析

输入成绩为85分,85大于80小于90,输出良好!

第 23 题    单选题

有列表 fruits = ['apple', 'banana', 'orange', 'pear'],该Python列表中一共包含几个元素?( )

A.

1

B.

2

C.

3

D.

4

 答案

D

 解析

列表fruits一共包含4个元素。所以本题正确答案为D。

第 24 题    单选题

在Python中,下面哪一项是创建Python列表(list)的正确操作?( )

A.

list1 = 5

B.

list1 = [1, 2, 3, 4]

C.

list1 = "Hello"

D.

list1 = (1, 2, 3, 4)

 答案

B

 解析

列表的创建可以使用list命令,也可以直接使用[]来创建。本题中未使用list命令,只有B选项符合创建格式。

第 25 题    单选题

执行下面Python程序,当输入3时,输出结果是?( )

number = 7
guess = -1
print('猜数字!')
while guess != number:
    guess = int(input("请输入你要猜的数字"))
    if guess == number:
        print("你猜中了,真厉害!")
    elif guess < number:
        print("猜小了,再猜猜?")
    elif guess > number:
        print("猜大了,再猜猜?")

A.

你猜中了,真厉害!

B.

猜小了,再猜猜?

C.

猜大了,再猜猜?

D.

恭喜你,猜对了!

 答案

B

 解析

考察条件语句 if – elif –elif ,此程序是猜数字,目标数字是7,当输入3时,会提示:猜小了,再猜猜?

判断题

第 26 题    判断题

append() 方法会将新元素添加为列表的第一个元素。( )

A.

正确

B.

错误

 答案

B

 解析

append() 方法会将新元素添加为列表的最后一个元素

第 27 题    判断题

str1 = '123', str2 = 123, 则str1与str2相同。( )

A.

正确

B.

错误

 答案

B

 解析

一个是字符串,一个是整数

第 28 题    判断题

break与continue均用于中止循环。( )

A.

正确

B.

错误

 答案

B

 解析

break是退出本层循环,是终止循环;而continue仅仅是退出本次循环,然后重新开始新一轮循环,是中止循环。

第 29 题    判断题

Python创建字典时,可以用数字、字符串、元组、列表作为字典中的键。( )

A.

正确

B.

错误

 答案

B

 解析

字典的键不能使用列表。

第 30 题    判断题

多层循环中,break可以退出所有循环。( )

A.

正确

B.

错误

 答案

B

 解析

break语句可跳出自己所在的本层循环。

第 31 题    判断题

在Python元组中,可使用remove()函数删除元组中的末尾元素。( )

A.

正确

B.

错误

 答案

B

 解析

创建元组后,其中的元素值是不允许删除的。

第 32 题    判断题

现有一个Python元组为 fruit=('苹果', '香蕉', '苹果'),其中'苹果'这个元素出现了两次,因此这个元组不能正常使用。( )

A.

正确

B.

错误

 答案

B

 解析

元组中允许出现重复的元素。fruit=('苹果', '香蕉', '苹果'),其中'苹果'这个元素出现了两次不影响元组的使用。

第 33 题    判断题

执行Python语句print('She's a pupil.'),得到的输出语句是She's a pupil。( )

A.

正确

B.

错误

 答案

B

 解析

用单引号括起包含撇号的字符串时,Python将第一个单引号和撇号之间的内容视为一个字符串会导致错误,因此这种字符串需用双引号括起来或者使用转义符进行定义,故本题答案为错误。

第 34 题    判断题

在python分支结构中,if、elif、else都可以单独使用。( )

A.

正确

B.

错误

 答案

B

 解析

if语句可以单独使用,但elif与else语句必须和if语句搭配才能使用,故本题描述错误。

第 35 题    判断题

while语句可以实现无限循环。( )

A.

正确

B.

错误

 答案

A

 解析

可以使用while True实现无限循环。

编程题

第 36 题    问答题

Python编程题:运动统计

李想同学是班级的体育委员,他负责统计和督促同学们加强锻炼。因此,他统计了班上几位同学周一和周二的运动步数。

周一的步数分别为:4125,3947,15395,238,6844,8341,3419,2943

周二的步数分别为:3975,3584,9754,4584,3435,9890,2344,9890

注意:每位同学的统计的顺序是不变的。

李想同学计划将每位同学周一和周二的步数相加得到每位同学这两天的总步数。请帮李想同学编程计算每位同学的总步数。

要求:

(1)必须使用列表或者元组;

(2)将每个同学两天的步数和求出来后形成一个新的列表;

(3)将新的列表(总步数)输出出来,并且按照步数的多少从小到大排列。

 答案

参考程序:

step1=[4125,3947,15395,238,6844,8341,3419,2943]
step2=[3975,3584,9754,4584,3435,9890,2344,9890]
step3=[]
for i in range(len(step1)):
    x=step1[i]+step2[i]
    step3.append(x)
step3.sort()
print(step3)

 解析

评分标准:

(1)使用了列表或者元组;(2分)

(2)有循环语句;(2分)

(3)能够将两个列表中的值能分别读出来;(2分)

(4)使用了加法进行总步数的计算;(2分)

(5)能够将总步数放进新的列表里面;(2分)

(6)使用了排序语句;(2分)

(7)总步数计算正确;(2分)

(8)输出正确。(1分)

第 37 题    问答题

Python编程题:智能抽奖机

中秋节到了,阿宝准备制作一个智能抽奖机,在班会活动上,让同学们参与趣味十足的抽奖游戏。智能抽奖机的抽奖机制如下:

(1)程序开始会定义一个数字(1-100之间),作为幸运数字;

(2)每个同学有五次机会,他们可以在终端区输入自己猜测的号码;

(3)如果猜中了,程序就会打印:'恭喜你获得大奖!';

(4)如果没有猜中,程序就会打印:'很遗憾,再来一次吧'。

示例:

>>>请输入数字

18

很遗憾,再来一次吧

>>>请输入数字

56

很遗憾,再来一次吧

67

恭喜你获得大奖!

友情提示:

由于考试平台暂不支持eval()命令,同学们可以选用其他命令;当然如果您使用了,只要程序是正确的,我们阅卷时依然按照正常处理。

 答案

参考程序:

lucky = 67
for i in range(5):
    num = int(input('请输入数字'))
    if num == lucky:
        print('恭喜你获得大奖!')
        break
    else:
        print('很遗憾,再来一次吧')

 解析

评分标准:

(1)正确指定了一个整数;(3分)

(2)正确输入数字并转化成整型;(3分)

(3)正确通过条件判断语句判断中奖并打印对应内容;(3分)

(4)正确通过条件判断语句判断没中奖并打印对应内容;(3分)

(5)实现中奖就结束的逻辑。(3分)

来源:Python题库 www.6547.cn/wenku

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐