Python软件编程等级考试五级——20210905

Python软件编程等级考试五级——20210905

理论

单选题

1、下列说法,正确的是?

A、集合类型是一个元素集合,元素之间有序
B、集合类型是一个元素集合,元素不能重复
C、集合类型是一个元素集合,元素可以重复
D、集合类型是一个元素集合,元素之间无序,元素类型必须相同

2、执行下列代码,正确的答案是?

>>> l=[10,0,1,6,12,8] 
>>> l.sort(key=str) 
>>> l
A、[0,1,6,8,10,12]
B、[0,1,10,12,6,8]
C、[0,1,10,6,8,12]
D、[12,10,8,6,1,0]

3、对于r=range(5),下列合法的方法是?

A、r[2] = 8
B、del r[2]
C、r.pop()
D、r.count(2)

4、下列代码的运行结果是?

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

5、下列语句的输出结果是?

for  i  in 'xyz': 
    for j in range(3): 
        print(i,end=' ') 
    if  i=='z': 
        break
A、xxxyzzz
B、xxxyyyz
C、xxxyyyzzz
D、xyyyzzz

6、下列操作,正确的为哪一项?

A、
>>>tuple("ni hao")
>>>("ni","hao")
B、
>>>tuple(range(3))
>>>(0,1,2)
C、
>>>tuple(str,range(3))
>>>(0,1,2)
D、
>>>tuple(map(str,range(3)))
>>>(0,1,2)

7、下列有关列表的描述,错误的是?

A、列表是包含若干元素的随机内存空间
B、列表是包含若干元素的有序内存空间
C、列表是包含若干元素的连续内存空间
D、列表的相邻元素之间使用逗号分隔

8、运行下列代码的结果是?

import math
math.ceil(-3.3)
A、-4
B、-3
C、-4.0
D、-3.0

9、下列元组的声明,非法的是哪一项?

A、t = 1,2,3
B、t = (1,2,3)
C、t = (1,)
D、t = (1)

10、运行下列代码,正确的结果是?

>>>print("{:.2f}".format(3.1415926))
A、'3.1'
B、3.1
C、'3.14'
D、3.14

11、使用map函数可以实现列表数据元素类型的转换,而无需通过循环。则将列表l=[‘2’,‘4’,‘6’,‘8’]转换为列表[2,4,6,8]的函数写法为?

A、map(int,1)
B、list(map(int,1))
C、map(1,int)
D、list(map(1,int))

12、运行下列代码,正确的结果是?

>>>x = set('runoob')
>>> y = set('google')
>>> x & y 
A、{'o','o'}
B、{'r','b','u','n'}
C、{'b','e','g','l','o','n','r','u'}
D、{'o'}

13、下列语句的输出结果是?

l=list(range(1,3)) 
print(l)
A、[0,1,2]
B、{0,1,2}
C、[1,2]
D、{1,2}

14、赋值语句path=‘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、提示错误

15、方法pop()与remove()的区别与相同点,错误的是?

A、都是删除与参数表中参数相同的元素
B、pop()有返回值
C、remove()没有返回值
D、pop()如果不带参数,则表示默认参数值为-1

16、有关jieba库的描述,错误的是?

A、jieba库的分词原理是利用中文词库,将待处理的内容与词库对比后找到最大概率的词组
B、jieba.lcut(s)返回的可能是一个列表类型
C、jieba.cut(s)返回的可能是一个元组类型
D、jieba.add_word(w)向分词词典中增加新词w

17、要生成如下效果的图片,可以使用以下哪个python库?

在这里插入图片描述

A、jieba
B、math
C、matplotlib
D、wordcloud

18、以下列表对象的表达,非法的或者值为False的选项是?

A、[]
B、[None,0," "]
C、[1,2,3]
D、[8,]!=[8]

19、下列语句的输出结果是?

for  i  in range(6): 
	if i%2==0: 
		continue 
	else: 
		print(i,end=,)
A、1,3,5,
B、1,3,5
C、0,2,4,
D、0,2,4

20、随机产生1-5之间的一个整数的代码是?

A、random.randrange(1,6)
B、random.randrange(1:6)
C、random.randchoice(1,5)
D、random.randint(1,5)

21、print(‘\x61’)的结果是?

A、\x61
B、'\x61'
C、a
D、A

22、下列声明字典的语句,错误的是?

A、d = {}
B、d = {'name':'Tom','age':20,'salary':3900}
C、d = dict(title='python',author='Tom',price=59)
D、d = list[('name',"Jerry"),("age",20)]

23、求执行下列操作后的正确结果?

>>> url='www.lxsz.com'
>>> url.split()
A、('www.lxsz.com')
B、['www','lxsz','com']
C、['www.lxsz.com']
D、('www','lxsz','com')

24、m=[x*x for x in range(5) ]的结果的是?

A、25
B、16
C、[0,1,4,6,16]
D、(0,1,4,6,16)

25、若d是一个字典,则max(d)是指求?

A、字典中键的最大值
B、字典中值的最大值
C、字典中键值对的最大值
D、字典中数字值的最大值

判断题

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

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

28、下列两个语句的功能不可能等价:

>>> l=[x*x for x in range(6)]
>>>> l=list(map(lambda x:x*x,range(6)))

29、字典中的“键”不允许重复,“值”也不允许重复。in运算符的速度比列表、元组快得多

30、list(zip(range(3),“abcd”)),返回[(0, ‘a’), (1, ‘b’), (2, ‘c’),(3,’d’)]

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

32、>>>m=’\n\nnihao\t\tliping\n\n\nzhang san’,>>> m.split(),结果是:[‘nihao’, ‘liping’, ‘zhang san’]

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

>>> import datetime
>>> t=datetime.today()

34、>>> ‘{0:%}’.format(3.5)返回’350.000000%‘;>>>’{0:.2f}’.format(1/5)返回’0.2’

35、

实操

第一题

简单去重问题:

对于给定的列表,要求对列表中每个重复元素只输出一次,请你编程完成这个任务。

例如:对于测试列表a=[11,1,14,23,11,89,14,56,89]

有如下3种算法,请你补全代码。

#方法1
a=[11,1,14,23,11,89,14,56,89]
result=[]
for i in a:
	if i not in result:print("方法1:",result)

#方法2
a=[11,1,14,23,11,89,14,56,89]
for i in [j for j in a if a.count(i)>1]:
	for x in range(a.count(i)-1):print("方法2:",a)

#方法3
a=[11,1,14,23,11,89,14,56,89]
i=0
while i<=len(a)-1:
	if a.count(a[i])>1:else:print("方法3:",a) 

第二题

密码问题:

根据密码本和电子钥匙,破解笔记本电脑的密码。

密码本是一个非降的整数序列,电子钥匙是一个整数,得到密码的方法是在密码本中找到最接近电子钥匙的整数(如果多个符合条件,输出最小的一个)。

例如:
密码本为下面的列表
a=[1,22,43,45,45,55,60,70,89]
电子钥匙为整数44
满足条件的整数为43和45,最终的密码为43
补全下面的代码:

a=[1,22,43,45,45,55,60,70,89] #密码本
k=int(input())   #k为电子钥匙
l=0
r=8
while l+1!=r:
    mid=int ()
    if a[mid]else:
        r=mid
    if a[r]==k:if k-a[l] <=:
     print(a[l])
else:
    print()

第三题

罗马数字问题:

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。

27写做 XXVII,即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减去数 1 得到的数值 4。同样地,数字 9 表示为 IX。

这个特殊的规则只适用于以下六种情况:

在这里插入图片描述

I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。

现编写输入一个罗马数字,输出其整数结果,请编程实现上述功能,或补全代码。

例如,当输入XXII时,输出22;当输入MCMXC时,输出1990.

rmdict = 'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000} 
rm = list(input("请输入正确的罗马数字:"))
num, prew = 0, 1
for ch in rm[::-1]:
   w =if prew > w: 
      num = num - w 
   else :
      num = num + w
   prew =print()
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青岛少儿编程-王老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值