Python软件编程等级考试四级——20211205

Python软件编程等级考试四级——20211205,第1张

Python软件编程等级考试四级——20211205
  • 理论
    • 单选题
    • 判断题
  • 实 ***
    • 第一题
    • 第二题
    • 第三题

理论 单选题

1、Python 中函数不包括?

A、标准函数
B、第三库函数
C、内建函数
D、参数函数

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

A、关键字传递是根据每个参数的名字传递参数,实参的顺序需要和形参的顺序已知
B、可选参数传递指的是没有传入对应参数值的时候,就不使用该参数
C、函数能同时返回多个值,需要形成一个列表来返回
D、给参数赋予默认值,如果该参数最终没有被传递值,将使用该默认值

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

A、使用import turtle 引入turtle库
B、可以使用from turtle import setup 引入turtle库
C、使用import turtle as t引入turtle,取别名为t
D、import保留字用于导入模块或者模块中的对象

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

A、算法是指解题方案的准确而完整的描述
B、算法的复杂度主要包括时间复杂度和数据复杂度
C、算法具有可行性、确定性、有穷性的基本特征
D、算法的基本要素包括数据对象的运算和 *** 作及算法的控制结构

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

A、在函数内部定义的变量是局部变量
B、在函数外部定义的变量是全局变量
C、在函数外部可以使用函数内部定义的变量
D、在函数内部可以使用函数外部定义的变量

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

x=1
def demo(): 
    x=2 
    print(x) 
demo() 
print(x)
A、1 1
B、2 1
C、1 2
D、2 2

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

A、function
B、filter
C、lambda
D、global

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

A、值传递可以改变实际参数的值,但是形式参数的值不能改变
B、值传递可以改变形式参数的值,但是实际参数的值不能改变
C、值传递可以同时改变形式参数和实际参数的值
D、值传递既不能改变实际参数的值,也不能改变形式参数的值

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

A、函数是一段具有特定功能的、可重复用的语句组
B、函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可
C、使用函数的主要目的是降低编程难度和代码重用
D、python使用del保留字定义一个函数

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

A、默认参数的值可以修改
B、引入了函数式编程的思想,函数本身亦为对象
C、关键字参数在使用时不允许改变参数列表中的参数顺序
D、函数的return语句可以以元组的方式返回多个值

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

A、函数名的命名规则与变量名的命名规则相同
B、如果有多个参数,各参数之间使用";"隔开
C、即使函数没有参数,在函数名后面仍然要保留一对空的"()"
D、函数体相对于自定义函数的关键字必须保持一定的缩进

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

def demo(a,b): 
    c=a**2+b 
    b=a 
    return c 
a=10 
b=100 
c=demo(a,b)+a
A、该函数名称为demo
B、执行该函数后,变量a的值为10
C、执行该函数后,变量b的值为100
D、执行该函数后,变量c的值为200

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

A、指定的实际参数必须与形式参数的数量一致,位置一致
B、指定的实际参数必须与形式参数的数量一致,位置可以不一致
C、指定的实际参数必须与形式参数的位置一致,数量可以不一致
D、指定的实际参数与形式参数的数量以及位置不需要一致

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

def demo(a,b): 
    a*=b 
    return a 
s=demo(5,2) 
print(s)
A、5
B、10
C、12
D、20

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

A、穷举和回归
B、递推和回归
C、穷举和回溯
D、递推和回溯

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

A、O(log2n)
B、O(nlog2n)
C、O(n)
D、O(n2)

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

def sum1( arg1, arg2 ):
    total = arg1 + arg2
    return total
t= sum1( 10, 20 )
print(t)
A、10
B、20
C、30
D、40

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)
A、(a-1,b-1)
B、(a+1,b-1)
C、(a-1,b+1)
D、(a+1,b+1)

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

A、time()
B、round()
C、sqrt()
D、random()

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))
A、[1,4,6,4,1]
B、[1,5,10,10,5,1]
C、[1,1,1]
D、[1,3,3,1]

21、下列程序段的运行结果为?

def f(n):
    if n<=0:
         return 1
    else:
        return f(n-1)*3
print(f(4))
A、9
B、27
C、81
D、243

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

def func(m):
    if(___):
        return func(m+1)*m
    else:
        return 1
print(func(1))
A、m<3
B、m<=3
C、m<=4
D、m<=2

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

A、5
B、4
C、3
D、2

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

A、冒泡排序
B、选择排序
C、插入排序
D、对分查找

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

A、递归函数的出口决定递归的深度
B、每个递归函数都只能有一个递归出口
C、递归函数必须有出口
D、递归函数的出口不再进行递归
判断题

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

def n(x, y):
	return x+y
a = n(x=3,y=2)
b = n(y=4,x=3)
print(b)

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

a = 0
x = 3
for i in range(x):
	a = a + 2
print(a)

28、如果在printnum(number)函数内部想要使用全局变量value,那么就要在函数内部使用关键词global声明全局变量value。

   value = 10
   def printnum(number):
        global value
        num = number + value
        return num

29、执行以下代码,程序输出的结果为15

def fun():
     x=15
print(x)

30、执行以下代码,程序输出的结果为:I lovePython

def funct():
    print("I love")
    def funct_1():
        print("Python")
funct()

31、执行以下代码,程序返回结果为:6

Func(2,3)
def Func(a,b):
    z=a*b
    return z

32、执行以下代码,程序输出的结果为:2

def add(sum,x):
	if sum<10:
        x +=2
        sum=sum+x
        add(sum,x)
    return sum
print (add(0,0))

33、执行以下代码,程序输出的结果为:42

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))

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

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

实 *** 第一题

要求:设计一个算法,求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
            ifbreak
        else:
            primeList.append(x)
    return primeList

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

编写上交作业的程序,老师要求把小组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 ==:
        returnreturn   ③  
homew=["作业1","作业2","作业3","作业4","作业5","作业6","作业7"]
zuoye = getHomeWork(homew,0)
print(zuoye)
第三题

要求:设计一个算法,枚举排列问题。输入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
    ifprint (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)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/758690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-01
下一篇 2022-05-01

发表评论

登录后才能评论

评论列表(0条)

保存