万卷网> 电子学会考级 >Python等级考试 > 2021年12月电子学会青少年软件编程(Python五级)等级考试试卷

2021年12月电子学会青少年软件编程(Python五级)等级考试试卷
操作/编程 五级 2021 2022-11-01 10:59:35 107

一、单选题

1.

下列代码的运行结果是?( )

def jishu(n):
    return n % 2 == 0
newlist = filter(jishu, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
n=list(newlist)
print(n)
A.

[1,2,3,4,5,6,7,8,9,10]

B.

[10,9,8,7,6,5,4,3,2,1]

C.

[2,4,6,8,10]

D.

[1, 3, 5, 7, 9]

2.
import random
lis= [0] * 6
i = 0
while i < 6:
  lis[i] = random.randint(1, 100)
  if lis[i] % 2 != i % 2:
    i += 1
  else:
    break

运行该程序段,lis[0]~lis[5]各元素值可能的是?( )

A.

[3, 19, 0, 0, 0, 0]

B.

[95, 44, 39, 24, 0, 0]

C.

[2, 37, 88, 61, 56, 9]

D.

[0, 0, 0, 0, 0, 0]

3.

下列说法,正确的是?( )

A.

集合类型是一个元素集合,元素之间有序

B.

集合类型是一个元素集合,元素不能重复

C.

s=set{1,2,’3’},声明了一个集合S

D.

集合类型是一个元素集合,元素之间无序,元素类型必修相同

4.

有如下 Python 程序段:

import random
c=0
s=0
for i in range(0,10):
    n=random.randint(1,101)
    if n%2==0:
        s+=i
        c+=1

print(i)该程序段被执行后,下列说法不正确的是?( )

A.

把程序 s+=i 改为 s=s+i 后,得到的结果是一样的。

B.

i=9

C.

语句 c+=1 可能执行了 10 次

D.

变量 s 中存储的生成的 10 个随机数中偶数相加的和

5.

下列语句的输出结果是?( )

for i in 'xyz':
    for j in range(1,3):
        print(i,end='')
        if i=='z':
            break
A.

xxyzz

B.

.xxyyzz

C.

xxyy

D.

xxyyz

6.

要生成如下效果的图片,用不到的是以下哪个python库?( )

A.

jieba

B.

wordcloud

C.

matplotlib

D.

pandas

7.

下列声明字典的语句,错误的是?( )

A.

d={}

B.

d={‘name’:'Tom',’age’:20,’salary’:3900}

C.

d=dict(title='Python',author='Tom',price=59)

D.

d=dict[('name','Jerry'),('age',20)]

8.

请确认以下程序中有几处错误?( )

input turtle
colors=['blue','red','green','yellow']
t=turtle.Pen()
for i in range(100)
    t.color(colors[i%5])
    w+=2
    t.forward(w)
    t.left(89)
A.

1

B.

2

C.

3

D.

4

9.

执行下列代码,正确的答案是?( )

>>> l=[10,0,1,6,12,8]
>>> l.sort(key=float)
>>> l
A.

[10.0,0.0,1.0,6.0,12.0,8.0]

B.

[0,1,10,12,6,8]

C.

[0, 1, 6, 8, 10, 12]

D.

[12,10,8,6,1,0]

10.

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

>>> url='www.lxsz.com'
>>> url.split()
A.

[www,lxsz,com]

B.

['www’,’lxsz’,’com']

C.

[www.lxsz.com]

D.

['www.lxsz.com']

11.

有关jieba库的描述,错误的是?( )

A.

jieba库的分词原理是利用中文词库,将待处理的内容与词库比对后找到最大概率的词组

B.

jieba.lcut(s)返回的可能是一个元组类型

C.

jieba.cut(s)返回的可能是一个元组类型

D.

jieba.add_word(w)向分词词典中增加新词w

12.
import random
fibo = [1] * 11
for i in range(2, 11):
  fibo[i] = fibo[i - 1] + fibo[i - 2]
n = random.randint(1,10)
print(fibo[n])

运行该程序段,输出结果不可能是?( )

A.

1

B.

21

C.

35

D.

89

13.

下列元组的声明,非法的是哪一项?( )

A.

t=0,

B.

t=0,1

C.

t=(0)

D.

t=(0,1)

14.

下列函数或操作,错误的为哪一项?( )

A.

>>>tuple('hello world')

B.

>>>tuple(range(3))

C.

>>>tuple(str,range(3))

D.

>>>tuple(map(str,range(3)))

15.

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

A.

\x65

B.

‘\x65’

C.

e

D.

A

16.

下列语句的输出结果是?( )

for i in range(6):
    if i%2==0:
        break
    else:
        print(i,end=',')


A.

1,3,5,

B.

1,3,5

C.

0,2,4,

D.

没有输出

17.

已知字典dict={"姓名":["张三","李四","王五"],"投票数":[18001,19682,23468]},则print(dict["姓名"][1],dict["投票数"][0])的结果为?( )

A.

张三 18001

B.

张三 19682

C.

李四 18001

D.

李四 19682

18.

以下序列对象的描述,非法的或者值为False的选项是?( )

A.

[]

B.

[None,0,'',]

C.

(8)!=8

D.

(8)!=[8]

19.

m=[i**2 for i in range(4) ]的结果的是?( )

A.

16

B.

8

C.

[0, 1, 4, 9]

D.

[1, 4, 9, 16]

20.

使用map函数可以实现列表数据元素类型的转换,而无需通过循环。则将列表l=['1','3','5','7']转换为列表[1,3,5,7]的函数写法为?( )

A.

map(int,l)

B.

map(l,int)

C.

list(map(int,l))

D.

list(map(l,int))

21.

赋值语句path=r'c:\abc\xyz\tag.txt',执行结果是?( )

A.

path的值是'c:\abc\xyz\tag.txt'

B.

path的值是'c:\bc\yz\ag.txt'

C.

path的值是'c:\\abc\\xyz\\tag.txt'

D.

提示出错

22.

对于列表的方法pop()与remove()的区别与相同点,正确的描述是?( )

A.

都是删除与参数表中参数相同的元素

B.

pop()没有返回值

C.

remove()没有返回值

D.

pop()如果不带参数,则表示默认参数值为0

23.

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

 >>>print("{:06.2f}".format(3.1415926))

A.

’003.14’

B.

003.14

C.

’3.14’

D.

3.14

24.

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

>>>x = set('runoob')
>>> y = set('google')
>>> x | y
A.

{‘o’,’o’}

B.

{'r', 'b', 'u', 'n'}

C.

{'l', 'n', 'r', 'e', 'b', 'g', 'u', 'o'}

D.

{'o'}


25.

关于列表和元组的关系,下列描述不正确的是?( )

A.

列表是包含若干元素的有序内存空间

B.

元组是包含若干元素的有序内存空间

C.

列表是包含若干元素的连续内存空间

D.

元组和列表本质上没有区别,只是元组是放在小括号中,列表是放于方括号中而已

二、判断题

1.

列表、元组、字符串均可以用set()转换为集合,例如:>>>set((1,2,2,3,4)),结果是{1,2,3,4}

A.正确 B.错误
2.

下列两个语句的功能可能是等价:

>>> l=[i*i for i in range(5)]
>>> m=list(map(lambda x:x*x,range(5)))
A.正确 B.错误
3.

某 Python 程序段如下:

s = "Errors should never pass silently."
d = {}
for ch in s:
	if ch in d:
		d[ch] += 1
	else:
		d[ch] = 1
print(d["e"])

运行该程序段,输出结果是2。

A.正确 B.错误
4.

>>> dict(enumerate(range(3)))

返回值为{‘0’: 0, ‘1’: 1, ‘2’: 2}

A.正确 B.错误
5.
>>>str='nihao\nliping\nzhang san'
>>> str.split()

结果是:['nihao', 'liping', 'zhang', 'san']

A.正确 B.错误
6.

对于列表l=[(0,),1,2,3,4],all(l)的值是True。

A.正确 B.错误
7.

>>>list(zip("abcd",range(3)))

返回出错

A.正确 B.错误
8.

>>> '{0:%}'.format(3.14)返回'3.140000%';

>>>'{0:.2f}'.format(3.14)返回'3.14'。

A.正确 B.错误
9.

利用日期时间模块datetime,可以获取“今天”的日期,方法如下:

>>> import datetime
>>> date.today().weekday()

如果“今天”是星期天,则返回0

A.正确 B.错误
10.

set()函数可以用于生成集合,输入的参数可以是任意组合数据类型,返回结果是一个无重复且有序的集合。

A.正确 B.错误
公众号
客服 反馈
顶部