image

编辑人: 未来可期

calendar2025-06-18

message2

visits437

2023月05月Python五级理论参考答案

一、单选题

1、

有列表L=[‘UK’,‘china’,‘lili’,“张三”],print(L[-2])的结果是?( )

A、UK

B、'lili','张三'

C、lili

D、'UK','china','lili'


2、倒计时在日常生活中有广泛的应用。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)))


3、已知一个字符串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)


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

A、cd

B、12

C、34

D、程序出现错误


5、有如下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数据类型是字典


6、现有校园图书馆最近一周(周一至周日)借书信息采集数据列表: 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])


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

A、sensor.insert('hongwai')

B、sensor.append('hongwai')

C、inset sensor['hongwai']

D、append sensor['hongwai']


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

A、\b

B、\n

C、\t

D、\r


9、现有字符串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'))


10、下列程序的功能是?( )
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数


11、运行下列程序: 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


12、

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

A、键

B、值

C、键-值

D、字典


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

A、A & B

B、A | B

C、A - B

D、B - A


14、求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])


15、

利用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'))


16、

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


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

A、sum(lst)

B、 min(lst)

C、max(lst)

D、MIN(lst)


18、

已知有元组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'


19、str1=“你是大英雄”,执行下列哪个选项可以输出"雄英大是你"?( )

A、print((str1(0,0))

B、print(str1[::-1])

C、print(str1[0])

D、print(str1[0:5])


20、

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

A、0-6

B、0-5

C、1-6

D、1-5


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

A、['2^10': 1024]

B、{"2^10"}

C、1024

D、{'2^10': 1024}


22、

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

A、集合推导公式

B、字符串推导公式

C、列表推导公式

D、元组推导公式


23、请问以下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}


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

import jieba

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

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

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

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

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


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

import math

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

A、10.20

B、10.0

C、11

D、10


二、判断题

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

A 正确

B 错误


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

A 正确

B 错误


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

A 正确

B 错误


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

A 正确

B 错误


30、Python中元组的元素不可以原位改变。( )

A 正确

B 错误


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

A 正确

B 错误


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

A 正确

B 错误


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

A 正确

B 错误


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

A 正确

B 错误


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

A 正确

B 错误


三、编程题

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

现设计程序自动删除 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)

参考答案:

参考程序:

s=“2A08:CCD6:0088:108A:0011:0002:202F:AA05”

ans=""

flag=False

for i in range(len(s)):

if s[i]==“:”:

ans+=s[i]

flag=False

elif s[i]!=“0” or flag==True:

ans+=s[i]

flag=True

print(“原 IPv6 地址为:”,s)

print(“去前导零后:”,ans)


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

undefined

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)

参考答案:

参考程序:

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

a.append(int(y))

for i in a:

if i==0 or i==1:

a1.append(i)

else:

flag=True

for j in range(2,i):

if i%j==0:

flag=False

break

if flag==True:

a2.append(i)

else:

a1.append(i)

b1=tuple(a1)

b2=tuple(a2)

print(“非素数的个数有”+str(len(b1))+“个,”,“非素数为:”,b1)

print(“素数的个数有”+str(len(b2))+“个,”,“素数为:”,b2)


38、

给定一个完全由数字字符(‘0’,‘1’,‘2’,…,‘9’)构成的字符串str,请写出str的p型编码串。例如:字符串1335554668可被描述为"1个1、2个3、3个5、1个4、2个6、1个8",因此我们说1335554668的p型编码串为112335142618;00000000000可描述为"11个0",因此它的p型编码串为110;类似的道理,编码串101可以用来描述1111111111;110003444225可描述为"2个1、3个0、1个3、3个4、2个2、1个5",因此它的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< p=""><> if ++++ : sum+=1 else: print(sum,end=‘‘) print(s[i],end=’’) ++++ i+=1


参考答案:

参考程序:

s=input(“请输入字符串str:”)

s+=’ ’

lens=len(s)

for i in range(0,lens-1,1):

if ‘0’<=s[i]<=‘9’:

continue

else:

print(‘输入无效!’)

exit()

sum=1

i=0

while i< p=""><>

if s[i]==s[i+1]:

sum+=1

else:

print(sum,end='')

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

sum=1

i+=1


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2023月05月Python五级理论参考答案

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share