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

发布于:2023-01-04 ⋅ 阅读:(1173) ⋅ 点赞:(0)

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

分数:100  题数:38

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

1.

Python中 print("八进制{:o}".format(12)) 正确的输出结果是?( )

A. 

八进制:O

B. 

八进制:O14

C. 

八进制14O

D. 

八进制14

试题编号:20220421-qdc-009

试题类型:单选题

标准答案:D

试题难度:一般

试题解析:字符串的format()格式。

考生答案:D

考生得分:2

是否评分:已评分

评价描述:

2.

下列的程序为求10的阶乘,则在①处应填入的是?( )
ans = 1
for i in range(  ① ):
    ans *= i
print(ans)

A. 

10

B. 

1,10

C. 

11

D. 

1,11

试题编号:20220427-ph-015

试题类型:单选题

标准答案:D

试题难度:一般

试题解析:10!,数据范围1—10,包含10,range是左闭右开的,所以取(1,11)。

考生答案:D

考生得分:2

是否评分:已评分

评价描述:

3.

下列程序为求1—>100所有偶数之和,则在①处应填入?( )
ans = 0
for i in range(  ① ):
    ans += i
print(ans)

A. 

1,100,2

B. 

1,101,2

C. 

2,101,2

D. 

2,100,2

试题编号:20220427-ph-016

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:根据题意,起始值为2,终止值包含100,步长为2,所以为(2,101,2)。

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

4.

下列程序为降序输出1—>100所有偶数,则在①处应填入?( )
for i in range(  ① ):
    print(i)

A. 

101,2,-2

B. 

100,1,-2

C. 

2,101,-2

D. 

2,100,-2

试题编号:20220427-ph-017

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:根据题意,降序输出,起始值为100,终止值取到2即可,所以为(100,1,-2)。

考生答案:B

考生得分:2

是否评分:已评分

评价描述:

5.

下列程序为倒序输出列表的元素,则在①处应填入?( )
lst = [1, 4, 5, 7, 9]
for i in range( ① ):
    print(lst[i])

A. 

len(lst)-1, -1, -1

B. 

len(lst)-1, 0, -1

C. 

len(lst), -1, -1

D. 

len(lst)-1, -1

试题编号:20220427-ph-018

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:列表最大下标为len(lst)-1,起始下标为0,根据左闭右开原则,终止值为-1。

考生答案:A

考生得分:2

是否评分:已评分

评价描述:

6.

Python中字符串可以使用反斜线进行转义,实现某些难以用字符表示的效果。下列可以实现换行效果的转义字符是?( )

A. 

\b

B. 

\n

C. 

\t

D. 

\r

试题编号:20220506-qdc-007

试题类型:单选题

标准答案:B

试题难度:容易

试题解析:字符串的转义。

考生答案:B

考生得分:2

是否评分:已评分

评价描述:

7.

下列可以正确输出
池塘里”快乐的歌唱家” 
字符的Python语句是?( )

A. 

print("池塘里\"快乐的歌唱家")

B. 

print("池塘里\"快乐的歌唱家\")

C. 

print('池塘里'\"快乐的歌唱家\")

D. 

print('池塘里\"快乐的歌唱家\"')

试题编号:20220506-qdc-008

试题类型:单选题

标准答案:D

试题难度:较难

试题解析:字符串的转义。

考生答案:D

考生得分:2

是否评分:已评分

评价描述:

8.

现有字符串S= "Where there's a will there's a way.",现在需要计算并输出字符串中'e'在S出现的次数,正确的语句是?( )

A. 

print(S.find('e',1))

B. 

print(S.index('e'))

C. 

print(S.count('e'))

D. 

print(S.index('e',0,len(S)))

试题编号:20220506-qdc-010

试题类型:单选题

标准答案:C

试题难度:较难

试题解析:字符串常用函数的应用。

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

9.

下列哪个选项是Python math库的数字常数?( )

A. 

math.sin

B. 

math.sqrt

C. 

math.e

D. 

math.pow

试题编号:20220506-qdc-022

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:math库的基础知识。

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

10.

下列可以输出当前时刻时间的正确的语句是?( )

A. 

print(time.ctime())

B. 

print(time.strptime())

C. 

print(time.nowtime())

D. 

print(time.local())

试题编号:20220506-qdc-023

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:time库的基本应用。

考生答案:A

考生得分:2

是否评分:已评分

评价描述:

11.

Python中可以实现随机生成1-20之间int类型整数的语句是?( )

A. 

print(random.int(1,20))

B. 

print(random.randint(1,20))

C. 

print(random.sample(1,20))

D. 

print(random.shuffle(1,20))

试题编号:20220506-qdc-024

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:random库的基本应用。

考生答案:B

考生得分:2

是否评分:已评分

评价描述:

12.

Python中词云主要是对文本数据中出现频率较高的“关键词”通过不同颜色、大小的渲染,在视觉上突出表现。常用的主要有WordCloud库,下列是WordCloud常用参数的是?( )

A. 

width,height,background_color,max_words,mask

B. 

width,height,bold,memset,jieba,max_words

C. 

background_color,jieba,time,random,mask,max_words

D. 

max_words,mask,width,height,jieba,text_color

试题编号:20220506-qdc-025

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:WordCloud库的参数应用。

考生答案:A

考生得分:2

是否评分:已评分

评价描述:

13.

元组变量name=("张三","李四","小明","小红"),则name[::-1]的运行结果是?( )

A. 

('小红', '小明', '李四', '张三')

B. 

['小红', '小明', '李四', '张三']

C. 

('小红')

D. 

运行出错

试题编号:20220507-zpf-006

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:本题主要考察Python列表中双冒号的使用。list[start:end:step],start表示起始位置,end表示结束位置,step表示步长。-1表示从右侧开始取步长,因此A选项正确。

考生答案:A

考生得分:2

是否评分:已评分

评价描述:

14.

已知一个元组t= ('x', 'y', ['X', 'Y'])。执行如下代码后,输出的结果是?( )
t[2][0] = 'xx'
t[2][1] = 'yy'
print(t)

A. 

元组t不发生变化,仍为('x', 'y', ['X', 'Y'])。

B. 

结果为:('x', 'y', ['xx', 'yy'])

C. 

结果为:('x', 'y', 'xx', 'yy')

D. 

运行时错误

试题编号:20220507-zpf-007

试题类型:单选题

标准答案:B

试题难度:较难

试题解析:本题主要考察学生对元组内元素不变性的理解。表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。

考生答案:B

考生得分:2

是否评分:已评分

评价描述:

15.

运行下列语句,输出的结果是?( )
nums = [i * i for i in range(1, 10) if i % 3 == 0]
print(nums)

A. 

[1, 4, 9, 16, 25, 36, 49, 64, 81]

B. 

[9, 36, 81]

C. 

[3,6,9]

D. 

[4, 16, 36, 64]

试题编号:20220507-zpf-027

试题类型:单选题

标准答案:B

试题难度:一般

试题解析:本题主要考察带条件的推导式。

考生答案:B

考生得分:2

是否评分:已评分

评价描述:

16.

运行下列程序,以下选项正确的是?( )
def k(num):
    if num == 1:
        return False
    for i in range(2, num):
        if (num % i) == 0:
            return False
    else:
        return True
nums = [i for i in range(1, 100) if k(i)]
print(nums)

A. 

输出结果为1到99(包括99)所有整数组成的列表。

B. 

输出结果为1到98(包括98)所有偶数数组成的列表。

C. 

输出结果为1到99(包括99)所有奇数组成的列表。

D. 

输出结果为1到97(包括97)所有质数(素数)组成的列表。

试题编号:20220507-zpf-028

试题类型:单选题

标准答案:D

试题难度:较难

试题解析:本题主要考察使用函数作为推导式的条件。把推导的条件放在函数中,既可以应对复杂的条件,又可以利用推导式的简洁写法。

考生答案:C

考生得分:0

是否评分:已评分

评价描述:

17.

运行下列语句,输出的结果是?( )
>>> x=["A","B","C"]

>>> y=["a","b","c"]

>>> {i:j for i,j in zip(x,y)}

A. 

{['A', 'a'], ['B','b'],[ 'C', 'c']}

B. 

{ 'a', 'b', 'c'}

C. 

{'A': 'a', 'B': 'b', 'C': 'c'}

D. 

{'A', 'B', 'C'}

试题编号:20220507-zpf-029

试题类型:单选题

标准答案:C

试题难度:较难

试题解析:本题考察推导字典。

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

18.

运行下列程序,输出的结果是?( ) 

letter=list({'a':1,'b':2,'c':3,'d':4}) 

print(letter) 

A. 

[1, 2, 3, 4]

B. 

['a', 'b', 'c', 'd']

C. 

['a', 1,'b',2, 'c', 3,'d',4]

D. 

['a':1,'b':2,'c':3,'d':4]

试题编号:20220509-jxf-001

试题类型:单选题

标准答案:B

试题难度:较难

试题解析:本题主要考核用list函数创建列表,把字典转换为列表时,默认是将字典的键转换为列表,所以选B

考生答案:B

考生得分:2

是否评分:已评分

评价描述:

19.

有如下Python程序段:

L=[5,8,7,2,6,4,1,8]

p=0

for i in range(1,len(L)):

    if L[i]<L[p]:

        p=i

则程序执行后,p的值是?( )

A. 

3

B. 

4

C. 

5

D. 

6

试题编号:20220509-jxf-002

试题类型:单选题

标准答案:D

试题难度:一般

试题解析:本题主要考核遍历列表元素,找出最小值的位置。

考生答案:D

考生得分:2

是否评分:已评分

评价描述:

20.

运行下列程序,输出的结果是?( )

c=[5,3,5,8,2,7,6]

c.pop(5)

c.remove(5)

print(c)

A. 

[3, 8, 2, 7, 6]

B. 

[5, 3, 8, 7, 6]

C. 

[3, 5, 8, 2, 6]

D. 

[5, 3, 8, 2, 6]

试题编号:20220509-jxf-003

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:本题主要考核对列表函数pop(),remove()的应用和区别

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

21.

运行下列程序,输出的结果是?( )

x=['bike','car','bus','train']

print(list(map(len, x)))

A. 

[0, 1, 2,3]

B. 

[1, 2, 3, 4]

C. 

[4, 3, 3, 5]

D. 

[4, 3, 3, 4]

试题编号:20220509-jxf-004

试题类型:单选题

标准答案:C

试题难度:较难

试题解析:本题主要考核map()函数对列表的操作,将函数映射到列表上的每个元素

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

22.

运行下列程序,输出的结果是?( )

>>> a={1,2,3,4,5,6}

>>> b={4,5,6,7,8,9}

>>> print(a&b)

A. 

{1, 2, 3}

B. 

{4, 5, 6}

C. 

{7, 8, 9}

D. 

{1, 2, 3, 4, 5, 6, 7, 8, 9 }

试题编号:20220510-jxf-023

试题类型:单选题

标准答案:B

试题难度:容易

试题解析:本题主要考核集合的&运算,求二个集合的交集。

考生答案:B

考生得分:2

是否评分:已评分

评价描述:

23.

运行下列程序,输出的结果是?( )

>>> fruit={'apple','orange','pear'}

>>> fruit.update("pear")

>>> print(fruit)

A. 

{'e', 'r', 'p', 'a', 'apple', 'orange', 'pear'}

B. 

{'pear', 'orange', 'apple'}

C. 

{'pear', 'orange', 'apple', 'pear'}

D. 

{'orange', 'apple'}

试题编号:20220510-jxf-024

试题类型:单选题

标准答案:A

试题难度:较难

试题解析:本题主要考核集合的update()函数功能:合并另外一个集合中的元素到当前集合中。注意参数为字符串时,会将字符串中每个元素作为集合元素放到集合中。

考生答案:A

考生得分:2

是否评分:已评分

评价描述:

24.

运行下列程序,输出的结果是?( )
scores={"语文":89, "数学":92}
scores["数学"]=90
scores[100]="技术"
print(scores)

A. 

{'语文': 89, '数学': 90, 100: '技术'}

B. 

{'语文': 89, '数学': 90, '技术':100}

C. 

{'语文': 89, '数学': 92, '技术':100}

D. 

'语文': 89, '数学': 90, 100: '技术'

试题编号:20220510-lly-015

试题类型:单选题

标准答案:A

试题难度:一般

试题解析:字典元素的修改与创建。

考生答案:A

考生得分:2

是否评分:已评分

评价描述:

25.

编写Python程序实现:输入任意一个数字,输出所需火柴棍的数量。划线处应填入的代码是?( )
num=input()
code={0:6,1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6}
count=                             
print("共需火柴棍:",count)

A. 

int(num)

B. 

code(int(num))

C. 

code[int(num)]

D. 

code[num]

试题编号:20220510-lly-016

试题类型:单选题

标准答案:C

试题难度:一般

试题解析:字典的操作。

考生答案:C

考生得分:2

是否评分:已评分

评价描述:

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

26.

range(start,stop,step)函数返回一个对象,该对象产生一个整数序列,开始与结束位置所组成的区间[start, stop],是左闭右闭的,start默认是0,step默认是1。( )

正确 

错误 

试题编号:20220427-ph-019

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:range()返回的序列是左闭右开区间,即:包含左边不包含右边。

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:

27.

Python中对字符串进行修改时只需使用原有的内存空间,其内存地址不会发生变化。( )

正确 

错误 

试题编号:20220506-qdc-028

试题类型:判断题

标准答案:错误

试题难度:较难

试题解析:字符串的特点。

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:

28.

在Python中设定字符串 str="Hello Python"
则str.find(‘w’)返回值为0。( )

正确 

错误 

试题编号:20220506-qdc-029

试题类型:判断题

标准答案:错误

试题难度:较难

试题解析:字符串函数的高阶应用。

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:

29.

Python默认安装包含PyInstaller内置模块,可以直接运行。( )

正确 

错误 

试题编号:20220506-qdc-035

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:PyInstaller的基本应用。

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:

30.

从存储内容上看,元组可以存储整数、实数、字符串、列表、元组等任何类型的数据,并且在同一个元组中,元素的类型是相同的。( )

正确 

错误 

试题编号:20220507-zpf-008

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:元组可以存储整数、实数、字符串、列表、元组等任何类型的数据,并且在同一个元组中,元素的类型可以不同。

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:

31.

对于数字n,如果表达式 0 in [n%d for d in range(2, n)] 的值为False,则说明n是素数。( )

正确 

错误 

试题编号:20220507-zpf-030

试题类型:判断题

标准答案:正确

试题难度:较难

试题解析:本题考察推到式的应用及素数的基本判定。

考生答案:正确

考生得分:2

是否评分:已评分

评价描述:

32.

>>>sub=['语文','数学','英语','科学','思品','体育']

>>>score=[105,97,156,105,72]

>>>list(zip(sub,score))

结果是:[('语文', 105), ('数学', 97), ('英语', 156), ('科学', 105), ('思品', 72)]。( )

正确 

错误 

试题编号:20220509-jxf-005

试题类型:判断题

标准答案:正确

试题难度:容易

试题解析:本题主要考核zip()函数对列表的操作使用,zip()函数用于将多个列表中元素重新组合为元组,列表不等长,以短为准。

考生答案:正确

考生得分:2

是否评分:已评分

评价描述:

33.

集合是一个无序的不重复元素序列,用{}作为界定符,如集合{1,2,[3,4],"ab"}。( )

正确 

错误 

试题编号:20220510-jxf-025

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:本题主要考核集合中只能包含不可变类型的数据,而不能包含列表等可变类型数据。

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:

34.

用set("12323")和{str(i) for i in range(1,4)}可以创建相同的集合。( )

正确 

错误 

试题编号:20220510-jxf-026

试题类型:判断题

标准答案:正确

试题难度:一般

试题解析:本题主要考核集合元素之间不允许重复,所以二个集合相同,都为{'1', '2', '3'}。

考生答案:错误

考生得分:0

是否评分:已评分

评价描述:

35.

在 Python 中,字典是一个无序、可变和有索引的键、值对的集合,每一对键、值对之间用分号“;”间隔。( )

正确 

错误 

试题编号:20220510-lly-031

试题类型:判断题

标准答案:错误

试题难度:一般

试题解析:字典的概念、特点。

考生答案:错误

考生得分:2

是否评分:已评分

评价描述:

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

36.

明明得到一个数值列表,想知道列表中只出现过一次的元素。请你帮忙编写程序输出这些元素。注意元素必须按照它们在数字列表中初始顺序输出。 输入格式: 输入共1行,若干个数值之间以空格隔开。 输出格式: 输出共1行,若干个数值之间以空格隔开。

输入样例: 19 73 258 6 73 234

输出样例: 19 258 6 234

a=[int(i) for i in input().split()]

n=len(        )

for i in range(        ):

    f=0

    for j in range(n):

        if (a[i]==         and i!=j):

            f=1

            break;

    if (f==0):

        print(        ,end=' ')

试题编号:20220506-qdc-036

试题类型:编程题

标准答案:

参考程序:

a=[int(i) for i in input().split()]

n=len(a)

for i in range(n):

    f=0

    for j in range(n):

        if (a[i]==a[j] and i!=j):

            f=1

            break;

    if (f==0):

        print(a[i],end=' ')

试题难度:容易

试题解析:

评分标准:

(1)a 或等效答案;(3分)
(2)n 或等效答案;(2分)
(3)a[j] 或等效答案;(2分)
(4)a[i] 或等效答案。(3分)

展示

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

考生得分:10

是否评分:已评分

评价描述:

37.

数字序列交集
已知两个整数序列num1和num2,求解两个整数序列的交集。输出结果中的每个元素一定是唯一的。我们可以 不考虑输出结果的顺序 。例如,nums1 = [4,9,5], nums2 = [9,4,9,8,4]。输出结果可以为[9,4]或[4,9]。
请将程序代码补全:
def aa( nums1=[], nums2=[]):
        set1 =            
        set2 =            
        if len(set1) > len(set2):
                            

        return [x for x in set1 if x in          ]

nums1=[4,9,5]

nums2= [9,4,9,8,4]

print(aa(nums1,nums2))

试题编号:20220507-zpf-037

试题类型:编程题

标准答案:

参考程序:

def aa( nums1=[], nums2=[]):
        set1 = set(nums1)
        set2 = set(nums2)
        if len(set1) > len(set2):
            set1, set2 = set2, set1
        return [x for x in set1 if x in set2]

nums1=[4,9,5]

nums2= [9,4,9,8,4]

print(aa(nums1,nums2))

试题难度:较难

试题解析:

评分标准:

(1)set(nums1);  (2分)
(2)set(nums2);  (2分)
(3)set1, set2 = set2, set1; (4分)
(4)set2。  (2分)

展示

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

考生得分:6

是否评分:已评分

评价描述:

38.

“石头剪刀布”游戏是猜拳的一种,两人玩,起源于中国,游戏规则中,石头克剪刀,剪刀克布,布克石头。小明编写了Python程序代码,决定与电脑大战“石头剪刀布”。

输入格式:

      共1行,一个数表示用户出拳的类型(石头1、剪刀2、布3)。

输出格式:
      共1行,输出电脑的出拳类型与游戏结果。
输入样例:
      2
输出样例:
      电脑出的是布,这局恭喜用户胜出!

import random
win=[('石头','剪刀'),          ,('布','石头',)]
cq={1:'石头',2:'剪刀',3:'布'}
while True:
    user=int(input('请出拳:1.石头 2.剪刀 3.布 \n'))
    if user not in range(          ):
        print("输入有误,请重新输入……")
        continue
    computer=random.randint(1,3)
    if user==computer:
        print("电脑出的是%s,这局是平局!"%cq[computer])
        break
    elif (         ,cq[computer]) in win:
        print("电脑出的是%s,这局恭喜用户胜出!"%cq[computer])
        break
    else:
        print("电脑出的是%s,这局恭喜电脑胜出!"%cq[computer])
        break

试题编号:20220510-jxf-038

试题类型:编程题

标准答案:

参考程序:

import random

win=[('石头','剪刀'),('剪刀','布'),('布','石头',)]

cq={1:'石头',2:'剪刀',3:''}

while True:

    user=int(input('请出拳:1.石头 2.剪刀 3.布 \n'))

    if user not in range(1,4):

        print("输入有误,请重新输入……")

        continue

    computer=random.randint(1,3)

    if user==computer:

        print("电脑出的是%s,这局是平局!"%cq[computer])

        break

    elif (cq[user],cq[computer]) in win:  

        print("电脑出的是%s,这局恭喜用户胜出!"%cq[computer])

        break

    else:

        print("电脑出的是%s,这局恭喜电脑胜出!"%cq[computer])

        break

试题难度:较难

试题解析:

评分标准:

(1)('剪刀','布') 或等效答案;(3分)

(2)1,4 或等效答案;(3分)

(3)cq[user] 或等效答案。(4分)

展示

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

考生得分:10

是否评分:已评分

评价描述

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到