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

265 | 202112Python四级真题-练习
选择题 共25道
01

Python 中函数不包括?

2分
登录后查看选项
02

以下关于函数参数和返回值的描述,正确的是?

2分
登录后查看选项
03

关于 import 引用,以下选项中描述错误的是?

2分
登录后查看选项
04

关于算法的描述,以下选项中错误的是?

2分
登录后查看选项
05

变量的作用域是指程序代码所能够访问到该变量的区域,以下表述中哪一个是错误的?

2分
登录后查看选项
06

有以下程序,运行程序输出的结果是?

x=1

def demo():

   x=2

   print(x)

demo()

print(x)

2分
登录后查看选项
07

匿名函数是指没有名字的函数,Python中需要使用哪一个表达式来创建匿名函数?

2分
登录后查看选项
08

函数调用可以分为将实际参数的值传递给形式参数,以及将实际参数引用传递给形式参数,如果实际参数是可变对象,以下关于函数形式参数和实际参数的表述正确的是?

2分
登录后查看选项
09

关于函数,以下选项中描述错误的是?

2分
登录后查看选项
10

在Python中,以下关于函数的描述错误的一项是?

2分
登录后查看选项
11

关于Python的自定义函数的说法,下列哪个表述是错误的?

2分
登录后查看选项
12

执行以下程序,以下表述中错误的一个是?

def demo(a,b):

   c=a**2+b

   b=a

   return c

a=10

b=100

c=demo(a,b)+a

2分
登录后查看选项
13

调用函数时,使用位置参数接收实际参数,以下表述正确的是?

2分
登录后查看选项
14

设有以下函数,运行程序输出的结果是?

def demo(a,b):

   a*=b

   return a

s=demo(5,2)

print(s)

2分
登录后查看选项
15

递归算法的执行过程,一般来说,可先后分成以下哪两个阶段?

2分
登录后查看选项
16

设某算法的计算时间表示为递推关系式T(n)=T(n-1)+n(n为正整数)及T(0)=1,该算法的时间复杂度为以下哪一项?

2分
登录后查看选项
17

运行以下程序,正确的打印结果是?

def sum1( arg1, arg2 ):
   total = arg1 + arg2
   return total
t= sum1( 10, 20 )
print(t)

2分
登录后查看选项
18

若要求出把a个元素分成b个子集,有多少种可能性,例:function(4,2)返回值为7,则返回值中函数的参数分别为?( )

def function(a,b):

   if (b == 1 or b == a):

       return 1

   else:

       return function(   )+b*function(a-1,b)

2分
登录后查看选项
19

下列属于math库中的数学函数是?

2分
登录后查看选项
20

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

def yang(n):

   if n == 0:

       return [1]

   else:

       return[([0]+yang(n-1))[i]+(yang(n-1)+[0])[i]  for i in range(n+1) ]

print(yang(4))

2分
登录后查看选项
21

下列程序段的运行结果为?
def f(n):
   if n<=0:
        return 1
   else:
       return f(n-1)*3
print(f(4))

2分
登录后查看选项
22

以下函数要实现3的阶乘,则应补充选项为?

def func(m):

   if(___):

       return func(m+1)*m

   else:

       return 1

print(func(1))

2分
登录后查看选项
23

对于数列1,2,8,11,15,17,19,25,30,45,采用“二分查找”法查找11,需要查找多少次?

2分
登录后查看选项
24

下面哪种算法使用了分治的方法?

2分
登录后查看选项
25

关于递归函数出口的说明,以下选项中错误的是?

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

运行如下图的代码,将不会报错而打印出数字7。请判断对错!


2分
登录后查看选项
27

如下图代码,最后运行结果将会打印出数值6,请问对吗?


2分
登录后查看选项
28

如果在printnum(number)函数内部想要使用全局变量value,那么就要在函数内部使用关键词global声明全局变量value。
  value = 10
  def printnum(number):
       global value
       num = number + value
       return num

2分
登录后查看选项
29

执行以下代码:
def fun():
    x=15
print(x)
程序输出的结果为15

2分
登录后查看选项
30

执行以下代码:
def funct():
   print("I love")
   def funct_1():
       print("Python")
funct()
程序输出的结果为:I lovePython

2分
登录后查看选项
31

执行以下代码:
Func(2,3)
def Func(a,b):
   z=a*b
   return z
程序返回结果为:6

2分
登录后查看选项
32

执行以下代码:
def add(sum,x):
   if sum<10:
       x +=2
       sum=sum+x
       add(sum,x)
   return sum
print (add(0,0))
程序输出的结果为:2

2分
登录后查看选项
33

执行以下代码:
def fun(m):
   if len(m)==1:
       return m[0]
   mid=len(m)//2
   l=fun(m[:mid])
   r=fun(m[mid:])
   return l+r
m=[5,23,41,3,11]
print(fun(m))程序输出的结果为:42

2分
登录后查看选项
34

假设一个一维列表中有200个元素,列表中的元素都已经按降序排列,若采用二分搜索策略查找某一个元素,则最多需要8次比较就能确定是否存在所查找的元素。

2分
登录后查看选项
35

当你安装的第三方库有一个或者多个依赖时,我们可以选择自动安装,直接运行 pip install xxx (xxx为你要安装库的名字)

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

要求:设计一个算法,求1~n(n为大于2的正整数)中有哪些素数,总共是多少个素数? 根据上述计算规则,补全下列代码。

函数名:getPrime(n)
参数表:n -- n为大于2的正整数。
返回值:返回素数组成的数组。
示例:当n=9时,返回:您输入的区间1-n中素数分别是:[2, 3, 5, 7],总共是4个素数!

primeList = []

import math
def getPrime(n):
    for x in range(2,n+1):
        x_sqrt =   ①    
        for prime in primeList:
            if   ②    
                primeList.append(x)
                break
            if   ③    
                break
        else:
            primeList.append(x)
    return primeList

m=int(input("请您输入一个整数n:"))
print('您输入的区间1-n中素数分别是:'+  ④    )+',总共是'+str(len(primeList))+'个素数!')

10分
登录后作答
37

编写上交作业的程序,老师要求把小组7位同学(编号为1,2,3,...,6,7)的作业收齐,小组编号1的同学跟编号2的同学说“收作业了”,之后每位同学依次向后面的一位同学说要“收作业了”,直到最后,编号7的同学将自己的作业,上交到编号6的同学手中,编号6的同学将编号7的作业及自己的作业一起上交到编号5的同学,按这样的流程;直到编号1将其他同学的作业及自己的作业上交到老师中。要求编号7同学的作业放在最前面,即老师看到的作业是编号7的作业,然后是编号6的作业,最后是编号1的作业。
根据上述算法思想,编写自定义函数完成程序功能,完善空白处代码。
"""
函数名def getHomeWork(hw,n)
参数表:hw存储每位同学的作业信息,n表示第n位同学的作业
返回值:每位同学的作业,要求最后1位同学的作业显示在最前面,第1位同学作业显示在最后面
"""
def getHomeWork(hw,n):
    if n ==  ①  :
        return   ②  
    return   ③  
homew=["作业1","作业2","作业3","作业4","作业5","作业6","作业7"]
zuoye = getHomeWork(homew,0)
print(zuoye)

10分
登录后作答
38

要求:设计一个算法,枚举排列问题。输入1-n的第1个排列,如1 2 3,按照大小输出1~n的所有排列,并统计全部排列总数。
根据上述算法思想,补全下列代码。
描述:输入1-n的第1个排列,如1 2 3,按照大小输出1~n的所有排列。
函数名:perm(n,begin,end)
参数表:n -- 整数n,begin -- 指向排列的第一个元素,end-- 指向排列的最后一个元素。
返回值:输出1-n的所有排列方式,每行一个排列,按从小到大。
示例:当输入1 2 3时,返回:
[1, 2, 3]
[1, 3, 2]
[2, 1, 3]

[2, 3, 1]

[3, 2, 1]

[3, 1, 2]

排列总数是:6个!

COUNT=0
def perm(n,begin,end):
    global COUNT
    if   ①    
        print (n)
        COUNT +=1
    else:
        i=begin
        for num in   ②    :
            n[num],n[i]=n[i],n[num]
              ③    
            n[num],n[i]=n[i],n[num]
 
arr = input("1-n的第1个排列:")    
n = [int(n) for n in arr.split()]
  ④    

print ("排列总数是:%d个!"% COUNT)

10分
登录后作答