2022年3月电子学会Python等级考试试卷(二级)答案解析

梁老师
梁老师 北京小升初老师~

0 人点赞了该文章 · 61 浏览





青少年软件编程(Python)等级考试试卷(二级)

分数:100  题数:37

一、单选题(共25题,每题2分,共50分)

1. 关于Python中的列表,下列描述错误的是?( )

A. 列表是Python中内置可变序列,是若干元素的有序集合;

B. 列表中的每一个数据称为“元素”;

C. 在Python中,一个列表中的数据类型可以各不相同;

D. 可以使用s[1]来获取列表s的第一个元素。

试题编号:20200310-tgf-01

试题类型:单选题

标准答案:D

试题难度:一般

试题解析:

考生答案:D

考生得分:2

是否评分:已评分

评价描述:


2. 已知列表a=[1,3,5,7],下列语句无法将a变成a=[1,3,5,7,9]的是?( )

A. a.append(9)

B. a=[1,3,5,7,9]

C. a.insert(4,9)

D. a[4]=9

试题编号:20200320-tgf-013

试题类型:单选题

标准答案:D

试题难度:一般

试题解析:

考生答案:D

考生得分:2

是否评分:已评分

评价描述:


3. 关于以下代码段的说法错误的是?( )

a = [1, 2, 5, 4, 3]

a.sort(reverse=True)

print(a)


A. a.sort(reverse=True)语句中的reverse默认值为False。

B. 省略a.sort(reverse=True)语句中的reverse=True,代码运行结果不变。

C. 将以上代码的a.sort(reverse=True)改为a=sorted(a,reverse=True),代码运行结果和原题的结果一样。

D. 以上代码运行结果为:[5, 4, 3, 2, 1]。

试题编号:20200328-tgf-005

试题类型:单选题

标准答案:B

试题难度:较难

试题解析:

考生答案:B

考生得分:2

是否评分:已评分

评价描述:


4. 下面程序的运行结果是?( )

a=80

b=70

if a>b:

    a,b=b,a

    print(a,b)


A. 70 70

B. 80 70

C. 70 80

D. 80 80

试题编号:20200409-jt-028

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:条件语句的运用,代码的意思是当a>b时,ab两个数互换,然后输出新的值。80>70,所以新输出的a为70,b为80,选择C

考生答案:C

考生得分:2

是否评分:已评分

评价描述:


5. 以下关于元组的描述正确的是?( )


A. 元组和列表相似,所有能对列表进行的操作都可以对元组进行

B. 创建元组时,若元组中仅包含一个元素,在这个元素后可以不添加逗号

C. 元组中的元素不能被修改

D. 多个元组不能进行连接

试题编号:20200427-wc-014

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:

考生答案:C

考生得分:2

是否评分:已评分

评价描述:


6. 以下程序的输出结果是?( )

tuple1 = (1,2,3)

tuple2 = (2)

print(tuple1*tuple2)


A. (1,2,3)

B. (1,2,3,1,2,3)

C. (2,4,6)

D. 报错

试题编号:20200427-wc-015

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:

考生答案:D

考生得分:0

是否评分:已评分

评价描述:


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

ls = []

for m in '想念':

   for n in '家人':

          ls.append(m+n)

print(ls)


A. ["想念","家人"]

B. ["想想","念念","家人"]

C. ["想家想","人念家","念人"]

D. ["想家", "想人", "念家", "念人"]

试题编号:20200427-wc-016

试题类型:单选题

标准答案:D

试题难度:一般

试题解析:

考生答案:D

考生得分:2

是否评分:已评分

评价描述:


8. 以下程序的输出结果是?( )

lt = ['绿茶','乌龙茶','红茶','白茶','黑茶']

ls = lt

ls.clear()

print(lt)


A. []

B. 变量未定义的错误

C. ['绿茶','乌龙茶','红茶','白茶','黑茶']

D. '绿茶','乌龙茶','红茶','白茶','黑茶'

试题编号:20200427-wc-044

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:

考生答案:C

考生得分:0

是否评分:已评分

评价描述:


9. 下面代码的输出结果是?( )

list1 = [1,2,3]

list2 = [4,5,6]

print(list1+list2)


A. [4,5,6]

B. [1, 2, 3, 4, 5, 6]

C. [1,2,3]

D. [5,7,9]

试题编号:20200427-wc-046

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:

考生答案:B

考生得分:2

是否评分:已评分

评价描述:


10. 字符串str="maixnm"包含"min"和"max"两个单词,下面哪个操作不能将"min"从中找出来?( )


A. str1=str[0]+str[2]+str[4]

B. str1=str[0:-1:2]

C. str1=str[::2]

D. str1=str[0:4:2]

试题编号:20210121-zy-17

试题类型:单选题

标准答案:D

试题难度:一般

试题解析:本题考点是字符串的通用操作,根据访问指定索引范围,我们应该得到答案为D

考生答案:C

考生得分:0

是否评分:已评分

评价描述:


11. cat=['fat','black','cloud'],则cat.index('black')的值为?( )


A. 1

B. 2

C. 3

D. 0

试题编号:20210128-lxj-009

试题类型:单选题

标准答案:A

试题难度:容易

试题解析:

考生答案:A

考生得分:2

是否评分:已评分

评价描述:


12. 3年级2班的学生花名册被存储在一个列表name中,如何快速得到该班级学生的总人数?( )


A. print(sum(name))

B. print(len(name))

C. print(min(name))

D. print(max(name))

试题编号:20210201-bm-005

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:

获取序列长度len(s)、获取最值max(s) min(s)、统计总和sum(s).根据题意,我们是要获取列表的长度,所以print(len(name)).


考生答案:B

考生得分:2

是否评分:已评分

评价描述:


13. 小张的爸爸每个月都有绩效工资,绩效工资根据业绩被分为1200、1400和1600三个等级,小张把爸爸每个月的绩效工资都记录在了一个money的列表中,如何能快速得到小张爸爸得到1600元绩效的次数?( )


A. money.index(1600)

B. money.count(1600)

C. money.remove(1600)

D. money.insert(0,1600)


试题编号:20210201-bm-006

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:

检索某个元素第一次出现元素下标s.index(x)、统计元素出现的次数s.count(x),s.remove(x)删除第一个匹配值,插入元素s.insert(i,x)。根据题意,需要知道1600在列表中出现的次数即money.count(1600)。


考生答案:B

考生得分:2

是否评分:已评分

评价描述:


14. name=('Jerry',),则name的数据类型是?( )


A. 字符串

B. 元组

C. 列表

D. 其他类型

试题编号:20210201-bm-011

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:本题需要特别注意的就是name=('Jerry',),如果没有这个“,”,那么就是str类型,但是有“,”,就是tuple类型。

考生答案:B

考生得分:2

是否评分:已评分

评价描述:


15. d1={'学科':'语文','班级':'2班','最高分':99}

d2={'学科':'数学','班级':'2班','最高分':100}

d1.update(d2)

print(d1)

以上代码的运行结果为?( )


A. {'学科':'语文','班级':'2班','最高分':99}

B. {'学科':'语文','班级':'2班','最高分':100}

C. {'学科':'数学','班级':'2班','最高分':100}

D. {'学科':'数学','班级':'2班','最高分':99}


试题编号:20210201-bm-017

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:

字典(Dictionary) update() 函数把字典 dict2 的键/值对更新到 dict 里。


语法:dict.update(dict2)


根据题意d2更新到了d1里,所以答案为{'学科':'数学','班级':'2班','最高分':100}。


考生答案:C

考生得分:2

是否评分:已评分

评价描述:


16. 小明用一个字典d={'语文':88,'数学':92,'英语':'96'}来储存他的期末考试成绩。则小明的总分是?( )




s=0

for i in d.values():

    s=s+int(i)

print(s)


B.

s=0

s=sum((d.values())

print(s)


C.

s=0

while i<len(d):

    s=s+int(d.values())

print(s)


D.

s=0

for i in d():

        s=s+int(i.values())

    print(s)


试题编号:20210201-bm-018

试题类型:单选题

标准答案:A

试题难度:较难

试题解析:

根据题意,我们需要遍历字典中左右的值,然后进行累加计算。所以

s=0

for i in d.values():#遍历字典中的值

   s=s+int(i)#转换成int类型并进行累加

print(s)


其他答案:

s=sum((d.values())#sum()不支持d.values类型,而且还少了一个后括号。

while i<len(d):#i未被定义

for i in d():#遍历字典的方式不对


考生答案:A

考生得分:2

是否评分:已评分

评价描述:


17. 如果要计算1*2*3*4*5*6*7*8*9则下列程序代码正确的是?( )


A.

s=0


for i in range(1,10):

    s=s*i

print(s)


B.

s=0

for i in range(1,9):

    s=s*i

print(s)


C.

s=1

for i in range(1,10):

    s=s*i

print(s)


D.

s=1

for i in range(1,9):

    s=s*i

print(s)


试题编号:20210201-bm-025

试题类型:单选题

标准答案:C

试题难度:较难

试题解析:

根据题意,我们可以通过for循环实现累乘。

正确答案:

s=1

for i in range(1,10):

     s=s*i

print(s)


注意:1、因为是累乘,所以s的初值不能为0,否则0乘以任何数都是0,最终结果也是0.


2、range(start, stop[, step]),计数到stop结束,但是不包括stop。所以range(1,10)包含了从1到9这九个数。



考生答案:C

考生得分:2

是否评分:已评分

评价描述:


18. 执行下列代码后,运行结果是?( )


d={'1':1,'2':2,'3':3,'4':4}

b=d

b['2']=5

print(d['2']+b['2'])


A. 4

B. 5

C. 7

D. 10

试题编号:20210202-chjn-24

试题类型:单选题

标准答案:D

试题难度:一般

试题解析:

考生答案:C

考生得分:0

是否评分:已评分

评价描述:


19. 若dic_color={'red':'红色','green':'绿色','gold':'金色','brown':'棕色','purple':'紫色'},以下选项中能够输出'金色'的是?( )


A. print(dic_color['gold'])

B. print(dic_color['金色'])

C. print(dic_color[2])

D. print(dic_color.values[2])

试题编号:20210202-chjn-25

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:字典的基本操作,按键取值

考生答案:D

考生得分:0

是否评分:已评分

评价描述:


20. 以下程序执行的结果是?( )

a=0

b=5

Sum=0

for i in range(3):

    if a>0:

        Sum+=a

        a+=1

    elif b>1:

        Sum+=b

    a+=1

    b+=1

print(Sum)


A. 7

B. 9

C. 11

D. 12

试题编号:20210215-dzj-026

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:

考生答案:B

考生得分:2

是否评分:已评分

评价描述:


21. 想得到的输出为"My name is Kevin and I am 10 years old."以下选项正确的是?( )


A. print('My name is %s and I am %d years old.',%('Kevin',10))

B. print('My name is %s and I am %d years old.'%('Kevin',10))

C. print('My name is %c and I am %d years old.'%('Kevin',10))

D. print('My name is %s and I am %d years old.'%',Kevin',))

试题编号:20210215-dzj-031

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:

考生答案:A

考生得分:0

是否评分:已评分

评价描述:


22. 编写一段猜密码程序,只允许猜三次,当猜中密码时,提示“密码正确”,程序退出。当输入密码错误时,提示“密码错误”,并提示剩余次数。程序空白处应填写的条件是?( )



A. abc>0

B. abc>=0

C. abc==0

D. abc!=3

试题编号:20210222-zzh-26

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:

考生答案:A

考生得分:2

是否评分:已评分

评价描述:


23. 已知a=list(range(10)),执行以下指令后,a的值会变成?( )

a[:2]=[5]

a.pop(5)

a.remove(5)


A. [2, 3, 4, 5, 7, 8, 9]

B. [2, 3, 4, 7, 8, 9]

C. [2, 3, 4, 6, 7, 8, 9]

D. [5, 2, 3, 4, 5, 7, 8, 9]

试题编号:2021212-jt-08

试题类型:单选题

标准答案:A

试题难度:较难

试题解析:本题是列表通用操作的综合运用,第一条指令是将前两个元素替换成一个5,变成[5, 2, 3, 4, 5, 6, 7, 8, 9],a.pop(5)是删除第6个元素6,最后一条指令是删除第一个5,所以选择A

考生答案:B

考生得分:0

是否评分:已评分

评价描述:


24. 以下选项中,不能用于表示分支结构的python函数是?( )


A. if

B. else

C. in

D. elif

试题编号:2021214-jt-26

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:ABD都是分支结构保留字,只有C不是

考生答案:C

考生得分:2

是否评分:已评分

评价描述:


25. 执行以下程序

a=range(1,10)

for i in a:

    if i%2 == 0:

        print(i)

运行结果为?( )


A. 1 3 5 7 9

B. 1 4 7

C. 2 4 6 8

D. 2 5 7 9

试题编号:2021214-jt-29

试题类型:单选题

标准答案:C

试题难度:较难

试题解析:for循环和分支结构的综合应用,根据题意,依次输出1-9中是2的倍数的数字,所以选择C

考生答案:C

考生得分:2

是否评分:已评分

评价描述:


二、判断题(共10题,共20分)

26. 已知Money=8.6675 , print("工资{0:.2f}".format(Money)),结果是:"工资8.67".( )


正确 错误  

试题编号:20200317-lfl-10

试题类型:判断题

标准答案:正确

试题难度:容易

试题解析:

考生答案:正确

考生得分:2

是否评分:已评分

评价描述:


27. 在使用format()函数对字符串进行格式化时,参数索引从1开始.( )


正确 错误  

试题编号:20200325-zh-007

试题类型:判断题

标准答案:错误

试题难度:容易

试题解析:

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:


28. while语句只能用于未知次数的循环,for语句只能用于循环次数己知的循环.( )


正确 错误  

试题编号:20210130-lxj-009

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:


29. t=(1,2,3,4,2),则print(t.index(2))的运行结果为1.( )


正确 错误  

试题编号:20210201-bm-027

试题类型:判断题

标准答案:正确

试题难度:一般

试题解析:检索某个元素第一次出现元素下标t.index(x)

元组的索引号从0开始,所以元素2的索引号为1.

考生答案:错误

考生得分:0

是否评分:已评分

评价描述:


30. 若s=(1,2,3,4,5),则执行s.remove(5)语句后,s的值是(1,2,3,4).( )


正确 错误  

试题编号:20210202-chjn-12

试题类型:判断题

标准答案:错误

试题难度:较难

试题解析:s是元组,元组一旦创建不能被修改删除

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:


31. Python语言用缩进来标识语句块,同一级语句块中的语句具有相同的缩进量.( )


正确 错误  

试题编号:20210202-chjn-34

试题类型:判断题

标准答案:正确

试题难度:一般

试题解析:知道语句块缩进

考生答案:正确

考生得分:2

是否评分:已评分

评价描述:


32. 表达式[3] in [1,2,3]的值为True.( )


正确 错误  

试题编号:20210202-chjn-35

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:理解in运算符的作用

考生答案:正确

考生得分:0

是否评分:已评分

评价描述:


33. break语句执行后,将跳出程序所有的循环,程序结束.( )


正确 错误  

试题编号:20210215-dzj-027

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:break语句只跳出本层循环。

考生答案:正确

考生得分:0

是否评分:已评分

评价描述:


34. 字典中的键和值必须用冒号隔开,同一个字典中的所有键都必须是唯一的.( )


正确 错误  

试题编号:20210222-zzh-23

试题类型:判断题

标准答案:正确

试题难度:一般

试题解析:

考生答案:正确

考生得分:2

是否评分:已评分

评价描述:


35. 以下程序的运行结果为  5    

a=6

b=5

if a>b:

    print(a)

else:

    print(b)


正确 错误  

试题编号:2021214-jt-32

试题类型:判断题

标准答案:错误

试题难度:容易

试题解析:运行结果为6

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:


三、编程题(共2题,共30分)

36. 实现统计字符串中的单词和单词出现的次数:

要求如下:

(1)统计的语句为:to be or not to be that is a question

(2)要求统计该句中出现的所有单词和其出现次数。

(3)使用字典进行输出,格式如下(注意:排列顺序可以不一致,但是统计的次数要正确):

{'to': 2, 'be': 2, 'or': 1, 'not': 1, 'is': 1, 'a': 1, 'question': 1, 'that': 1}



试题编号:20210120-zy-37

试题类型:编程题

标准答案:

参考程序:

string = "to be or not to be that is a question"#定义变量存储字符串

lis=string.split(" ")#使用分割函数将字符串转为列表

count={}#定义一个空字典

for x in lis:#遍历列表

    if x not in count:#判断列表元素是否在字典中

       count[x]=1

    else:

       count[x]+=1

print(count)#打印字典

试题难度:较难

试题解析:

评分标准:

(1)能正确存储字符串;(2分)

(2)能使用分割函数将字符串转为列表(或者其他序列及可迭代对象均可);(3分)

(3)创建字典;(2分)

(4)有循环遍历列表(或迭代对象);(3分)

(5)判断列表(或可迭代对象)元素是否在字典中;( 3分)

(6)输出格式正确;(2分)

(7)代码执行完全正确无误。(5分)

本题需要用到字符串的基本操作,字典,条件判断,循环等知识。


展示地址:点击浏览

考生答案:(此题已作答)

考生得分:5

是否评分:已评分

评价描述:


37. 可以对任何一个自然数进行若干次运算,最终都可以变为1。

运算规则如下:

(1)若该数是偶数,则变为原数的一半;

(2)若该数是奇数,则变为原数的3倍加1;

(3)重复(1)(2),直到该数变为1。

编写程序实现如下功能:输入一个大于1的自然数,计算按照上述方法最终变换为1共经过的变换次数,并输出变换次数。(输出格式为:直接输出次数即可)

示例1:若输入自然数8,则输出结果为:3。

示例2:若输入自然数5,则输出结果为:5。


试题编号:20210216-fjn-21

试题类型:编程题

标准答案:

参考程序:

x=int(input("请输入自然数:"))

count=0

while x!=1:

    if x%2==0:

        x=x//2

    else:

        x=3*x+1

    count=count+1

print(count)

试题难度:较难

试题解析:

评分标准:

(1)有循环语句:1分,使用得当:1分;合计2分

(2)有循环条件:1分,循环条件正确:2分;合计3分

(3)有条件判断语句:1分,条件判断语句正确1分;合计2分

(4)有输入语句并且使用正确:1分

(5)有输出语句:1分

(6)结果正确:1分


展示地址:点击浏览

考生答案:(此题已作答)

考生得分:9

是否评分:已评分

评价描述:

图片


添加 家长论坛微信 



发布于 2024-04-25 11:08

免责声明:

本文由 梁老师 原创发布于 家长帮 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论

广告
All Rights Reserved Powered BY WeCenter V4.1.0 © 2025 京ICP备20005761号-2