选择题 共25道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25


判断题 共9道

26 27 28 29 30 31 32 33 34


编程题 共3道

35 36 37

276 | 202109Python五级真题-练习
选择题 共25道
01

下列说法,正确的是?

2分
登录后查看选项
02

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

>>> l=[10,0,1,6,12,8]

>>> l.sort(key=str)

>>> l

2分
登录后查看选项
03

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

2分
登录后查看选项
04

下列代码的运行结果是?

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)

2分
登录后查看选项
05

下列语句的输出结果是?

for  i  in “xyz”:

for j in range(3):

    print(i,end=’ ’)

if  i==”z”:

break

2分
登录后查看选项
06

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

2分
登录后查看选项
07

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

2分
登录后查看选项
08

运行下列代码的结果是?

import  math

math.ceil(-3.3)

2分
登录后查看选项
09

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

2分
登录后查看选项
10

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

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

2分
登录后查看选项
11

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

2分
登录后查看选项
12

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

>>>x = set('runoob')

>>> y = set('google')

>>> x & y  

2分
登录后查看选项
13

下列语句的输出结果是?

l=list(range(1,3))

print(l)

2分
登录后查看选项
14

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

2分
登录后查看选项
15

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

2分
登录后查看选项
16

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

2分
登录后查看选项
17

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



2分
登录后查看选项
18

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

2分
登录后查看选项
19

下列语句的输出结果是?

for  i  in range(6):

if i%2==0:

    continue

else:

    print(i,end=’,’)

2分
登录后查看选项
20

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

2分
登录后查看选项
21

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

2分
登录后查看选项
22

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

2分
登录后查看选项
23

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

>>> url='www.lxsz.com'

>>> url.split()

2分
登录后查看选项
24

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

2分
登录后查看选项
25

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

2分
登录后查看选项
判断题 共9道
26

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

2分
登录后查看选项
27

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

2分
登录后查看选项
28

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

>>> l=[x*x for x in range(6)]

>>> l=list(map(lambda x:x*x,range(6)))

2分
登录后查看选项
29

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

2分
登录后查看选项
30

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

返回[(0, 'a'), (1, 'b'), (2, 'c'),(3,’d’)]

2分
登录后查看选项
31

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

2分
登录后查看选项
32

>>>m=’\n\nnihao\t\tliping\n\n\nzhang san’

>>> m.split()

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

2分
登录后查看选项
33

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

>>> import datetime

>>> t=datetime.today()

2分
登录后查看选项
34

>>> '{0:%}'.format(3.5)返回'350.000000%';

>>>’{0:.2f}’.format(1/5)返回'0.2'

2分
登录后查看选项
编程题 共3道
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) 

10分
登录后作答
36

密码问题:

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

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

例如:

密码本为下面的列表

a=[1,22,43,45,45,55,60,70,89]

电子钥匙为整数44

满足条件的整数为4345,最终的密码为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]<k:

           ②    

    else:

        r=mid

    if a[r]==k:

          ③      

if k-a[l] <=     ④   :

     print(a[l])

else:

    print()

10分
登录后作答
37

罗马数字问题:

罗马数字包含以下七种字符: 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(  ③  )

10分
登录后作答