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


判断题 共10道

26 27 28 29 30 31 32 33 34 35


编程题 共3道

36 37 38

250 | 202403Python四级真题-练习
选择题 共25道
01

运行如下代码,若输入整数3,则最终输出的结果为?( )

def f(x):

   if x==1:

       s=1

   else:

       s=f(x-1)*x

   return s

n=int(input("请输入一个大于1的整数:"))

print(f(n)+f(n-1))

2分
登录后查看选项
02

运行下列程序,输出的结果是?(

def fun(x):

   if x > 3:

       return x * fun(x-1)

   else:

       return x

print(fun(6))

2分
登录后查看选项
03

下列关于递归的描述不正确的是?(

2分
登录后查看选项
04

运行下列程序,输出的结果是?(

def fun(a, n):

   s = 0

   for i in range(1, n+1):

       temp = str(a)*i

       s += int(temp)

   return s

print(fun(1, 3))

2分
登录后查看选项
05

运行下列程序,输出的结果是?(

def fun(a, b):

   s = 0

   a = a[::-1]

   for i in range(len(a)):

       s += int(a[i])*b**i

   return s

print(fun('45', 16))

2分
登录后查看选项
06

一个荷花池,第一天荷花开放得很少,第二天开放的数量是第一天的两倍,之后的每一天,荷花都会以前一天两倍的数量开放。如果到第30天,荷花就开满了整个池塘,设第一天开一朵,编程求第30天共开了多少朵荷花。下面空白处的代码填写正确的是?( )

s = 0

t = 1

for i in range(1,                ):    

   s += t

                   

print(s)

2分
登录后查看选项
07

解决下列问题时,时间复杂度最大的是?(

2分
登录后查看选项
08

以下关于分治算法的描述正确的是?(

2分
登录后查看选项
09

下列选项中哪一项使用了分治算法?(

2分
登录后查看选项
10

不超过20个元素的降序数列,使用对分查找能找到指定的元素,可能的查找次数不包括?( )

2分
登录后查看选项
11

下面程序段的输出结果是?(

def add_Run(L=None):

    if L is None:

         L = ['Lying']

    else:

         L.append('Run')

    return L

add_Run()

print(add_Run())

print(add_Run(['Lying']))

2分
登录后查看选项
12

下面关于计数器的程序,输出结果正确的是?(

count = 0

def increment():

        global count

        count += 1

        print("计数器的值:", count)

increment()

increment()

increment()  

2分
登录后查看选项
13

下列程序段的输出结果是?(

L = []

x = 3

def  test(x):

      L.append(x)

      x = 5

test(x)

print('L = {}, x = {}'.format(L, x))

2分
登录后查看选项
14

以下程序,运行程序输出结果正确的是?(

def demo(x):

   return x*2

print(demo(demo(1)))

2分
登录后查看选项
15

Python使用下列哪个函数接收用户输入的数据?( )

2分
登录后查看选项
16

下面程序段的输出结果正确的是?(

def  power():

    x ='python'

    y = 'world'

    z = x + " " + y

    return z

print(power())

2分
登录后查看选项
17

下列关于Python函数的描述中,不正确的是?( )

2分
登录后查看选项
18

关于以下代码的描述中,正确的是?(

#求两个正方形的面积差

def MianJiCha(a,b):

   s=a**2-b**2

   return s

a=5

b=10

c=MianJiCha(b,a)+a

2分
登录后查看选项
19

下列关于Python函数的说法中,错误的是?( )

2分
登录后查看选项
20

下列选项中,调用下列代码定义的函数时,程序会报错的是?(

def ShuChu(a,b,c):

   print(c,b,a)

2分
登录后查看选项
21

下列选项中,调用以下代码定义的函数时,程序会报错的是?(

def kp(a,b,c):

   print(a,b,c)

2分
登录后查看选项
22

下列代码的输出结果是?(

>>>s=lambda m,n:m*n

>>>s(6,6)

2分
登录后查看选项
23

以下函数定义错误的选项是?(

2分
登录后查看选项
24

用于安装Python第三方库的工具是?( )

2分
登录后查看选项
25

编程时,如果只需要导入某第三方库中的某个成员,需要使用到的关键字是?(

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

若某个问题既能用递归算法求解,又能用递推算法求解,则使用递归方法求解更容易,效率也高得多。(

2分
登录后查看选项
27

如下代码因为递归的边界条件设置错误,产生了无限递归程序报错。(

def fun(n):

   if n > 10:

       return 0

   else:

       return n + fun(n-1)

print(fun(10))

2分
登录后查看选项
28

算法的时间复杂度与空间复杂度没有必然关系。(

2分
登录后查看选项
29

已知有n本按照书名拼音排序好的图书,使用对分查找法搜索其中任何一本书,最多查找次数为4次,则n的值有可能为10。( )

2分
登录后查看选项
30

函数定义语句def  f(c=1,d=2,a,b):是正确的,因为默认值形参要放在前面。( )

2分
登录后查看选项
31

return语句可以返回任何数据类型的值,包括整数、浮点数、字符串、列表、元组、字典等。( )

2分
登录后查看选项
32

def ZiDian(**kwargs):

   print(kwargs)

ZiDian(a=1)

运行上面的代码后,输出结果为{'a':1}。( )

2分
登录后查看选项
33

以下代码可以正常运行,输出8。( )

def qh(a,b=3):

   print(a+b)

qh(b=2,6)

2分
登录后查看选项
34

代码>>>lambda:x=2,y=3:x+y 的运行结果是5。( )

2分
登录后查看选项
35

使用pip install --upgrade numpy命令能够升级numpy科学计算库。( )

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

数的分解

给出一个正整数a,要求分解成若干个正整数的乘积,即a=a1×a2×a3×...×an,并且1<a1a2a3...an,问这样分解的种类有多少。注意到a=a也是一种分解。

例如,8可以分解成8=2*2*2,8=2*4,8=8总共3种。 

代码如下,完善划线处的代码:

def fun(x, y=2):

    if x == 1:

        global ans

                       

    for i in range(y, x+1):

        if                 :

            fun(x//i,i)

lst = [2, 8, 9, 20] #测试数据

for i in lst:

    ans = 0

                    

    print(ans)

程序运行结果如下:

1

3

2

4

10分
登录后作答
37

购物组合

小明单位发了100元的购物卡,小明到超市买三类洗化用品:洗发水(15元)、香皂(2元)、牙刷(5元)。要把100元正好花掉,可有哪些购买组合?

def  gouwu(money):

        for i in range(0,money//15+1):

             for j in range(0,money//2+1):

                   for  k  in  range(0,                ):

                          if                   :

                               print('可选择的购买组合:\t购买洗发水 {} 瓶,香皂 {} 块,牙刷 {}个。'.format(                ))

gouwu(100)

10分
登录后作答
38

回文素数

回文素数是指一个不小于11的自然数n从左向右和从右向左读,其结果值相同且是素数,即称n为回文素数。一种求解的方法是先判断一个自然数是否为回文数,再判断它是否为素数。如果两个判断都成立,则该自然数是回文素数。请补全代码,找出自然数1000以内的所有回文素数。

#判断是否为素数

def                 (n):             

    for i in range(2,n):

        if                 :

            break

    else:

        return True

 

#判断是否为回文数

def HuiWenShu(n):

    n=str(n)

    if n==                :

        return True

    else:

        return False

for i in range(11,1001):

    if ZhiShu(i)==True                 :

        print('{}是回文素数!'.format(i))

10分
登录后作答