选择题 共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

277 | 202112Python五级真题-练习
选择题 共25道
01

关于列表和元组的关系,下列描述不正确的是?(

2分
登录后查看选项
02

以下序列对象的描述,非法的或者值为False的选项是?( )

2分
登录后查看选项
03

对于列表的方法pop()与remove()的区别与相同点,正确的描述是?( )

2分
登录后查看选项
04

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

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

>>> l.sort(key=float)

>>> l

2分
登录后查看选项
05

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

2分
登录后查看选项
06

下列函数或操作,错误的为哪一项?(

2分
登录后查看选项
07

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

2分
登录后查看选项
08

print('\x65')的结果是?( )

2分
登录后查看选项
09

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

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

>>> url.split()

2分
登录后查看选项
10

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

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

2分
登录后查看选项
11

下列语句的输出结果是?(

for i in 'xyz':

   for j in range(1,3):

       print(i,end='')

       if i=='z':

           break

2分
登录后查看选项
12

请确认以下程序中有几处错误?(

input turtle

colors=['blue','red','green','yellow']

t=turtle.Pen()

for i in range(100)

   t.color(colors[i%5])

   w+=2

   t.forward(w)

   t.left(89)

2分
登录后查看选项
13

下列语句的输出结果是?(

for i in range(6):

   if i%2==0:

       break

   else:

       print(i,end=',')

2分
登录后查看选项
14

有如下 Python 程序段:

import random

c=0

s=0

for i in range(0,10):

   n=random.randint(1,101)

   if n%2==0:

       s+=i

       c+=1

print(i)该程序段被执行后,下列说法不正确的是?( )

2分
登录后查看选项
15

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

2分
登录后查看选项
16

已知字典dict={"姓名":["张三","李四","王五"],"投票数":[18001,19682,23468]},则print(dict["姓名"][1],dict["投票数"][0])的结果为?( )

2分
登录后查看选项
17

下列说法,正确的是?(

2分
登录后查看选项
18

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

>>>x = set('runoob')

>>> y = set('google')

>>> x | y

2分
登录后查看选项
19

使用map函数可以实现列表数据元素类型的转换,而无需通过循环。则将列表l=['1','3','5','7']转换为列表[1,3,5,7]的函数写法为?( )

2分
登录后查看选项
20

m=[i**2 for i in range(4) ]的结果的是?( )

2分
登录后查看选项
21

import random

fibo = [1] * 11

for i in range(2, 11):

fibo[i] = fibo[i - 1] + fibo[i - 2]

n = random.randint(1,10)

print(fibo[n])

运行该程序段,输出结果不可能是?(

2分
登录后查看选项
22

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

def jishu(n):

   return n % 2 == 0

newlist = filter(jishu, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

n=list(newlist)

print(n)

2分
登录后查看选项
23

import random

lis= [0] * 6

i = 0

while i < 6:

lis[i] = randomrandint(1, 100)

if lis[i] % 2 != i % 2:

i += 1

else:

break

运行该程序段,lis[0]~lis[5]各元素值可能的是?( )

2分
登录后查看选项
24

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

2分
登录后查看选项
25

要生成如下效果的图片,用不到的是以下哪个pythonundefined

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

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

2分
登录后查看选项
27

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

返回出错

2分
登录后查看选项
28

>>> '{0:%}'.format(3.14)返回'3.140000%'

>>>'{0:.2f}'.format(3.14)返回'3.14'

2分
登录后查看选项
29

>>>str='nihao\nliping\nzhang san'

>>> str.split()

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

2分
登录后查看选项
30

>>> dict(enumerate(range(3)))

返回值为{‘0’: 0, ‘1’: 1, ‘2’: 2}

2分
登录后查看选项
31

Python 程序段如下:

s = "Errors should never pass silently"

d = {}

for ch in s:

if ch in d:

d[ch] += 1

else:

d[ch] = 1

print(d["e"])

运行该程序段,输出结果是2

2分
登录后查看选项
32

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

2分
登录后查看选项
33

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

2分
登录后查看选项
34

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

>>> l=[i*i for i in range(5)]

>>> m=list(map(lambda x:x*x,range(5)))

2分
登录后查看选项
编程题 共3道
35

输入年月日,计算这一天是这一年的第几天。编写自定义函数完成程序功能,完善程序代码。
"""
根据年月日,计算这一天是这一年的第几天
函数名  def getDays(year)
参数    year:表示日期;字符串类型如20211201
返回值 :整数。表示这一天是这年的第几天 
"""
def getDays(year):

    s = 0

    y = int(year[:4])

    m = int(year[4:6])

    d = int(year[6:8])

    monthdays = (31,28,31,30,31,30,31,31,30,31,30,31)

    for i in range(    ):

        s = s +      

    if (y % 4 ==0 and y % 100 !=0 or y % 400 ==0) and     :

        s = s + 1

    s = s + d

    return s

year = "20211201"

theday =     

print(theday)

10分
登录后作答
36

素数是只能被1和本身整除的正整数,因式分解就是将一个正整数分解成若干个素数相乘的形式。用户从键盘输入小于1000的整数,对其进行因式分解,例如:10=2*5,60=2*2*3*5。完善程序代码。

#用户从键盘输入小于1000的整数,对其进行因式分解。例如:10=2*5,60=2*2*3*5

x = input('Please input an integer less than 1000:')

x = int(x)

t = x

  

result = []

while True:

    if t == 1:

        break

    if t % i == 0:

        result.  

        t = t/i

    else:

          

s=''

for i in result:

    s=  

s=  

print( x,'=',s)

10分
登录后作答
37

设计一个算法,汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。有三个单字符字符串和一个整数。三个字符表示三个杆子的编号,整数为盘子的数目。
根据上述计算规则,补全下列代码。
函数名:hannota(n,a,b,c)
参数表:n -- 正整数表示盘子数,a --a杆子,b --b杆子,c --c杆子。
返回值:移动路径。
示例:n=3,返回:
A --> C
A --> B
C --> B
A --> C
B --> A
B --> C
A --> C
def hannota(n,a,b,c):

    if n == 1:

        print(a ,"-->", c)

        return None

    if n == 2:

        print(a,"-->",b)

        Print(   )

        print(b,"-->",c)

        return None

    Hannota(  ②  )

    print(a,"-->",c)

    Hannota(    )

a = "A"

b = "B"

c = "C"

n =int(input('请输入黄金圆盘数量n:'))

hannota(n,a,b,c)

10分
登录后作答