试卷 2023年5月青少年软件编程Python等级考试(五级)试卷
2023年5月青少年软件编程Python等级考试(五级)试卷
选择题
第 1 题    单选题

有列表L=['UK','china','lili',"张三"],print(L[-2])的结果是?

A.

UK

B.

'lili','张三'

C.

lili

D.

'UK','china','lili'

第 2 题    单选题

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

import math

a=math.floor(10.2)
print(a)

A.

10.20

B.

10.0

C.

11

D.

10

第 3 题    单选题

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

import jieba
str ="大家好,我叫龙云!请多多关照!"
jieba.suggest_freq(("龙云"),True)
print(jieba.lcut(str))
A.

'大'',''家', '好', ',', '我', '叫', '龙'',''云', '!', '请', '多多','关照', '!'   

B.

['大家', '好', ',', '我', '叫', '龙'',''云', '!', '请', '多多关照', '!

C.

['大家', '好', ',', '我', '叫', '龙云', '!', '请', '多多关照', '!']

D.

('大家', '好', ',', '我', '叫', '龙云', '!', '请', '多多关照', '!')

第 4 题    单选题

请问以下Python代码输出的结果是?( )
a = {i**2 for i in (6,7,8) if i>3}
print(a)

A.

(36,49,64)

B.

{64, 49, 36}

C.

{64,49}

D.

{2,36,64}

第 5 题    单选题

运行下面代码后得到相应的输出结果,请问是用了哪一种推导公式?( )
a = [i for i in range(10) if i % 3 ==0]
print(a)
#output: [0, 3, 6, 9]

A.

集合推导公式

B.

字符串推导公式

C.

列表推导公式

D.

元组推导公式

第 6 题    单选题

下列代码运行后的结果是?( )
dp={}
dp["2^10"]=1024
print(dp)

A.

['2^10': 1024]

B.

{"2^10"}

C.

1024

D.

{'2^10': 1024}

第 7 题    单选题

Python中,range函数表示产生一个序列,range(6)则表示产生的一个序列是?

A.

0-6

B.

0-5

C.

1-6

D.

1-5

第 8 题    单选题

str1="你是大英雄",执行下列哪个选项可以输出"雄英大是你"?

A.

print((str1(0,0))

B.

print(str1[::-1])

C.

print(str1[0])

D.

print(str1[0:5])

第 9 题    单选题

已知有元组tup1=('a','b'),tup2=(1,2,3),tup3=('china','UK'),执行print(tup1+tup2+tup3)后输出是?

A.

['a', 'b', 1, 2, 3, 'china', 'UK']

B.

(('a','b'),(1,2,3),('china','UK'))

C.

('a', 'b', 1, 2, 3, 'china', 'UK')

D.

'a', 'b', 1, 2, 3, 'china', 'UK'

第 10 题    单选题

已知有列表lst = [2,3,4,5,6],下面操作可以求出最小值的是?

A.

sum(lst)

B.

min(lst)

C.

max(lst)

D.

MIN(lst)

第 11 题    单选题

Python中可以实现随机生成1-100之间浮点数的语句是?

A.

print(random.uniform(1,100))

B.

print(random.randint(1,100))

C.

print(random.sample(1,100))

D.

print(random.shuffle(1,100))

第 12 题    单选题

利用time模块,下列可以输出当前日期的正确的语句是?

A.

print(time.ctime('%y%m%d'))

B.

print(time.strftime('%y%m%d'))

C.

print(time.nowdate('%y%m%d'))

D.

print(time.local('%y%m%d'))

第 13 题    单选题

求1-100之内能被7整除,但是不能被3整除的所有数,正确的列表推导式是?

A.

print([for x in range(0, 100) if x % 7 == 0 and x % 3 != 0])

B.

print([for x in range(1, 101) if x % 7 == 0 and x % 3 != 0])

C.

print([x for x in range(0, 100) if x % 3 == 0 and x % 7 != 0])

D.

print([x for x in range(1, 101) if x % 7 == 0 and x % 3 != 0])

第 14 题    单选题

集合A是曾经到云南旅游的人,集合B是曾经到海南旅游的人,如果现在想要得到曾经到海南但是不曾到过云南旅游的人,可以使用那一种集合功能?

A.

A & B

B.

A | B

C.

A - B

D.

B - A

第 15 题    单选题

列books是一个字典,有一个for循环如下:
    for  info1,info2 in books.items( ):
       print(info2)
上述info2可以得到什么?

A.

B.

C.

键-值

D.

字典

第 16 题    单选题

运行下列程序: list(range(2,9,2)) 输出的结果是?

A.

2, 4, 6, 8

B.

[2, 4, 6, 8]

C.

[1, 3, 5, 7, 9]

D.

1, 3, 5, 7, 9

第 17 题    单选题

下列程序的功能是?( )
shu=10000
result=[a for a in range(1,shu+1) if shu%a==0]
print(result)

A.

计算并输出10000以内的质数

B.

计算并输出10000的约数

C.

计算并输出10000的倍数

D.

计算并输出1-10000以内的整10数

第 18 题    单选题

现有字符串S = "No mountain is more high than one." ,现在需要计算并输出字符串中'o'在S出现的次数,正确的语句是?

A.

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

B.

print(S.index('o'))

C.

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

D.

print(S.count('o'))

第 19 题    单选题

Python中字符串可以使用反斜线进行转义,实现某些难以用字符表示的效果。 下面可以实现水平制表(跳到下一个TAB位置)的转义字符是?

A.

\b

B.

\n

C.

\t

D.

\r

第 20 题    单选题

科技小组实践作品用到的传感器列表 sensor = ['shengyin', 'chaoshengbo', 'guangmin', 'huidu'] , 当前需要增加列表元素'hongwai',正确的操作是?

A.

sensor.insert('hongwai')

B.

sensor.append('hongwai')

C.

inset sensor['hongwai']

D.

append sensor['hongwai']

第 21 题    单选题

有校园图书馆最近一周(周一至周日)借书信息采集数据列表: borrow = [502, 387, 612, 545, 702, 855, 962] ,当前需要打印输出周一至周五的数据信息,正确的操作是?

A.

print(borrow[1:n-2])

B.

print(borrow[0:n-1])

C.

print(borrow[:-2])

D.

print(borrow[::-2])

第 22 题    单选题

有如下python程序段,下列说法错误的是?( )
s={1,2,3,4,5}
print(s)
s.clear()  
print(s)

A.

“{1,2}+{5,6}”是错误的语句

B.

s数据类型是集合

C.

此程序段的作用是输出原始集合s和移除数据之后的集合s

D.

s数据类型是字典

第 23 题    单选题

有如下程序,请问此程序的执行结果是?( )  
tup1 = (12,'bc',34,'cd')
tup1[1] = 23
print(tup1[3])

A.

cd

B.

12

C.

34

D.

程序出现错误

第 24 题    单选题

已知一个字符串s="iloveyou"。通过操作该字符串构造一个新的列表li=['i', 'oveyou']。以下哪个选项不能构造新列表li?

A.

li = s.split("l",0)

B.

li = s.split("l",1)

C.

li = s.split("l",2)

D.

li = s.split("l",3)

第 25 题    单选题

倒计时在日常生活中有广泛的应用。Python使用range可以实现倒序数。下面可以正确倒序输出15以内正整数的语句是?

A.

print(list(range(15, -1, 1)))

B.

print(list(range(-1, 15, 1)))

C.

print(list(range(15, 1, -1)))

D.

print(list(range(15, 0, -1)))

判断题
第 26 题    判断题

在Python语言中,字符串是属于有序序列。

A.
正确
B.
错误
第 27 题    判断题

PyInstaller命令执行完,源文件所在的目录将生成dist和build两个文件夹。

A.
正确
B.
错误
第 28 题    判断题

乐器社团活动,小明用Python写了一个汇总程序,在他的程序中乐器集合的元素是可以相同的。

A.
正确
B.
错误
第 29 题    判断题

Python中字典(dict)的“值”可以是列表(list)、字典(dict)、集合(set)类型。

A.
正确
B.
错误
第 30 题    判断题

enumerate()函数是Python的内置函数,它能用来遍历一个可迭代对象,它在遍历的同时还可以得到当前元素的索引位置。

A.
正确
B.
错误
第 31 题    判断题

Python中可以通过 .replace() 删除字符串开头和结尾的空格。

A.
正确
B.
错误
第 32 题    判断题

Python中元组的元素不可以原位改变。

A.
正确
B.
错误
第 33 题    判断题

新学期,书法社团增加了新学员,目前一共n人,小刚作为社团的信息员,用Python建立了一个列表,列表索引从1开始,到n结束。

A.
正确
B.
错误
第 34 题    判断题

multiples = [i for i in range(30) if i % 3 == 0] ,此推导式中,multiples中共有10个元素。

A.
正确
B.
错误
第 35 题    判断题

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

A.
正确
B.
错误
编程题
第 36 题    问答题

Python等级考试五级编程题:分段函数的计算及取值。

编写程序,实现分段函数的计算,分段函数的取值如下表所示。要求:可连续输入5次(也就是输入5x值,求出对应的y值),根据对应的表达式求出y值之后,将结果转化成整数添加到列表a中。请判断存在于列表a中的5个元素是否为素数,如果为非素数则转化成元组之后存在b1中,如果是素数则转换成元组之后存放在b2中,分别输出b1b2中非素数和素数的元素及元素个数。

a=[]
a1=[]#暂时存储非素数的值
a2=[]#暂时存储素数的值
b1=()
b2=()
for i in range(5):
    x=int(input("输入x="))
    if x<0:
        y=0
    elif 0<=x<5:
        y=x
    elif 5<=x<10:
        y=3*x-5
    elif 10<=x<20:
        y=0.5*x-2
    elif x>=20:
        y=2*x
            ①        
for  i  in  a:   
    if         ②        :
       a1.append(i)
    else:
        flag=True
        for j in range(2,i):
            if  i%j==0:
                        ③         
                break
        if         ④        :
            a2.append(i)
        else:
            a1.append(i)
b1=tuple(a1)
b2=tuple(a2)                
print("非素数的个数有"+str(len(b1))+"个,","非素数为:",b1)
print("素数的个数有"+str(len(b2))+"个,","素数为:",b2)
第 37 题    问答题

Python等级考试五级编程题:自动删除 IPv6 地址的前导零。

已知 IPv6 的地址字符串的格式为 X:X:X:X:X:X:X:X,其中每个 X 表示长度为 4 的字符串。例如:某 IPv6 字符串为“2A08:CCD6:0088:108A:0011:0002:202F:AA05”IPv6 表示法需将每个 X 的前导零都省略,程序输出结果如下图所示:

现设计程序自动删除 IPv6 地址的前导零,请在划线处填入合适的代码。

s="2A08:CCD6:0088:108A:0011:0002:202F:AA05"
        ①        
flag=False
for i in range(len(s)):
    if s[i]==":":
                ②        
        flag=False
    elif         ③        :
        ans+=s[i]
        flag=True
print("原 IPv6 地址为:",s)
print("去前导零后:",ans)
第 38 题    问答题

Python等级考试五级编程题:写出字符串strp型编码串。

给定一个完全由数字字符('0','1','2',...,'9')构成的字符串str,请写出strp型编码串。例如:字符串1335554668可被描述为“112335142618”,因此我们说1335554668p型编码串为11233514261800000000000可描述为“110”,因此它的p型编码串为110;类似的道理,编码串101可以用来描述1111111111110003444225可描述为“213013342215”,因此它的p型编码串为213013342215。如果输入非数字字符,则提示输入无效。

根据上述算法思想,补全下列代码。

s=input("请输入字符串str:")
s+=' '
lens=len(s)
for i in range(0,        ①        ,1):
    if '0'<=s[i]<='9':
                ②        
    else:
        print('输入无效!')
        exit()
sum=1
i=0
while i<lens-1:
    if          ③        :
        sum+=1
    else:
        print(sum,end='')
        print(s[i],end='')
                ④        
    i+=1
答题卡
选择题
判断题
编程题
36 37 38
题目总数:38
总分数:100
时间:90分钟