2023年5月青少年软件编程Python等级考试(五级)试卷
剩余时间 --:--:--
单选题 共 25 题
1.

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

2.

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

import math

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

3.

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

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

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

5.

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

6.

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

7.

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

8.

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

9.

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

10.

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

11.

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

12.

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

13.

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

14.

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

15.

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

16.

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

17.

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

18.

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

19.

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

20.

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

21.

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

22.

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

23.

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

24.

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

25.

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

判断题 共 10 题
1.

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

2.

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

3.

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

4.

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

5.

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

6.

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

7.

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

8.

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

9.

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

10.

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

问答题 共 3 题
1.

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)
2.

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)
3.

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
C++ 编辑器
输入
输出