python期末考试:函数与模块

发布时间:2024年01月14日

第4章 函数与模块

1. 下列有关函数的说法中,正确的是( )。

A.函数的定义必须在程序的开头????????B.函数定义后,其中的程序就可以自动执行

C.函数定义后需要调用才会执行????????D.函数体与关键字def必须左对齐

2. 关于函数的描述,错误的选项是( )。?

A.Python使用del保留字定义一个函数

B.函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可。

C.函数是一段具有特定功能的、可重用的语句组

D.使用函数的主要目的是减低编程难度和代码重用

3. 以下关于函数的描述,错误的是( )。

A.函数是一种功能抽象 B.使用函数的目的只是为了增加代码复用

C.函数名可以是任何有效的Python标识符 D.使用函数后,代码的维护难度降低了

4. 以下关于Python语言的描述中,正确的是( )。

A、函数中return语句只能放在函数定义的最后面 B、定义函数需要使用保留字def

C、使用函数最主要的作用是复用代码 D、Python函数不可以定义在分支或循环语句的内部

5. 关于函数作用的描述,以下选项中错误的是( )。

A.复用代码 B.增强代码的可读性 C.降低编程复杂度 D.提高代码执行速度

6. 以下关于 python 函数使用的描述,错误的是( )。

A.函数定义是使用函数的第一步

B.函数被调用后才能执行

C.函数执行结束后,程序执行流程会自动返回到函数被调用的语句之后

D.Python 程序里一定要有一个主函数

7. 关于Python函数,以下选项中描述错误的是( )。

A.函数是一段可重用的语句组 B.函数通过函数名进行调用

C.每次使用函数需要提供相同的参数作为输入 D.函数是一段具有特定功能的语句组

8. Python 中函数不包括( )。

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

9. Python语言中用来定义函数的关键字是( )。

A.return B.def C.function D.define

10.使用( )关键字创建自定义函数。

A. function ???????B. func ????????C.def ??????????D.procedure

11.使用( )关键字声明匿名函数。

A. function ??????B. func ??????????C.def ???????D.lambda

12.Python 中,函数定义可以不包括以下( )。

A.函数名 B.关键字 def C.一对圆括号 D.可选参数列表

13.以下关于 python 内置函数的描述,错误的是:

A.hash() 返回一个可计算哈希的类型的数据的哈希值

B.type() 返回一个数据对应的类型

C.sorted() 对一个序列类型数据进行排序

D.id() 返回一个数据的一个编号,跟其在内存中的地址无关

14.以下关于 python 内置函数的描述,错误的是:

A.id() 返回一个变量的一个编号,是其在内存中的地址

B.all(ls) 返回 True,如果 ls 的每个元素都是 True

C.type() 返回一个对象的类型

D.sorted() 对一个序列类型数据进行排序,将排序后的结果写回到该变量中

15.假设函数中不包括global保留字,对于改变参数值的方法,以下选项中错误的是( )。

A.参数是int类型时,不改变原参数的值

B.参数是组合类型(可变对象)时,改变原参数的值

C.参数的值是否改变与函数中对变量的操作有关,与参数类型无关

D.参数是list类型时,改变原参数的值

16.关于形参和实参的描述,以下选项中正确的是( )。

A.参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参

B.函数调用时,实参默认采用按照位置顺序的方式传递给函数,Python也提供了按照形参名称输入实参的方式

C.程序在调用时,将形参复制给函数的实参

D.函数定义中参数列表里面的参数是实际参数,简称实参

17.以下关于函数参数传递的描述,错误的是( )。

A.定义函数的时候,可选参数必须写在非可选参数的后面

B.函数的实参位置可变,需要形参定义和实参调用时都要给出名称

C.调用函数时,可变数量参数被当做元组类型传递到函数中

D.Python 支持可变数量的参数,实参用”*参数名”表示

18.以下关于函数参数和返回值的描述,正确的是( )。

A.采用名称传参的时候,实参的顺序需要和形参的顺序一致

B.可选参数传递指的是没有传入对应参数值的时候,就不使用该参数

C.函数能同时返回多个参数值,需要形成一个列表来返回

D.Python支持按照位置传参也支持名称传参,但不支持地址传参

19.以下关于函数返回值的描述中,正确的是( )。

A、Python函数的返回值使用很灵活,可以没有返回值,可以有一个或多个返回值

B、函数定义中最多含有一个return语句

C、在函数定义中使用return语句时,至少给一个返回值

D、函数只能通过print语句和return语句给出运行结果

20.以下代码的输出结果是( )。

??????????t=10.5

??????????def ?above_zero(t):

??????????????return t>0

A、True B、False C、10.5 D、没有输出

21.关于Python的全局变量和局部变量,以下选项中描述错误的是( )。

A.局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用

B.使用global保留字声明简单数据类型变量后,该变量作为全局变量使用

C.简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放

D.全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效

22.关于局部变量和全局变量,以下选项中描述错误的是( )。

A.局部变量和全局变量是不同的变量,但可以使用global保留字在函数内部使用全局变量

B.局部变量是函数内部的占位符,与全局变量可能重名但不同

C.函数运算结束后,局部变量不会被释放

D.局部变量为组合数据类型且未创建,等同于全局变量

23.以下关于函数的描述,正确的是( )。

A.函数的全局变量是列表类型的时候,函数内部不可以直接引用该全局变量

B.如果函数内部定义了跟外部的全局变量同名的组合数据类型的变量,则函数内部引用的变量不确定

C.python 的函数里引用一个组合数据类型变量,就会创建一个该类型对象

D.函数的简单数据类型全局变量在函数内部使用的时候,需要在显式声明为全局变量

24.以下关于 Python 函数对变量的作用,错误的是( )。

A.简单数据类型在函数内部用global保留字声明后,函数退出后该变量保留

B.全局变量指在函数之外定义的变量,在程序执行全过程有效

C.简单数据类型变量仅在函数内部创建和使用,函数退出后变量被释放

D.对于组合数据类型的全局变量,如果在函数内部没有被真实创建的同名变量,则函数内部不可以直接使用并修改全局变量的值

25.关于Python的lambda函数,以下选项中描述错误的是( )。

A.可以使用lambda函数定义列表的排序原则

B.f = lambda x,y:x+y 执行后,f的类型为数字类型

C.lambda函数将函数名作为函数结果返回

D.lambda用于定义简单的、能够在一行内表示的函数

26.下面代码实现的功能描述的是

def fact(n):

if n==0:

return 1

else:

return n*fact(n-1)

num =eval(input(“请输入一个整数:”))

print(fact(abs(int(num))))

A.接受用户输入的整数 n,判断 n 是否是素数并输出结论

B.接受用户输入的整数 n,判断 n 是否是完数并输出结论

C.接受用户输入的整数 n,判断 n 是否是水仙花数

D.接受用户输入的整数 n,输出 n 的阶乘值

27.以下代码的输出结果是()。

???????def Hello(famlyName,age):

???????????if ?age > 50:

???????????????print(“您好!”+famlyName+“奶奶”)

???????????elif ?age > 40:

???????????????print(“您好!”+famlyName+“阿姨”)

???????????elif ?age > 30:

???????????????print(“您好!”+famlyName+“姐姐”)

???????????else:

???????????????print(“您好!”+“小”+famlyName)

???????Hello(age=43, famlyName=“赵”)

A、您好!赵奶奶????????B、您好!赵阿姨 C、您好!赵姐姐?????????D、函数调用出错

28.以下代码的输出结果是()。

???????????def young(age):

???????????????if ?25 <= age <= 30:

???????????????????print( “作为一个老师,你很年轻”)

???????????????elif age <25:

???????????????????print( “作为一个老师,你太年轻了”)

???????????????elif age >= 60:

???????????????????print( “作为一个老师,你可以退休了”)

???????????????else:

???????????????????print( “作为一个老师,你很有爱心”)

???????????young(42)

A、作为一个老师,你很年轻 B、作为一个老师,你太年轻了

C、作为一个老师,你可以退休了 D、作为一个老师,你很有爱心

29.以下代码的输出结果是()。??

???????def fibRate(n):

???????????if ?n <= 0:

???????????????return -1

???????????elif n==1:

???????????????return -1

???????????elif n==2:

???????????????return 1

???????????else:

???????????????L = [1, 5]

???????????????for i in range(2,n):

???????????????????L.append(L[-1]+L[-2])

???????????????return L[-2]%L[-1]

???????print(fibRate(7))

A、0.6 B、28 C、-1 D、1

30.以下程序的输出结果是:

ab = 4

def myab(ab, xy):

ab= pow(ab,xy)

print(ab,end=" ")

myab(ab,2)

print( ab)

A.4 4 ?????????? ?B.16 16 ????????? ?C.4 16 ????? ??D.16 4

31.关于以下程序输出的两个值的描述正确的是:

da = [1,2,3]

print(id(da))

def getda(st):

fa = da.copy()

print(id(fa))

getda(da)

A.两个值相等 B.每次执行的结果不确定 C.首次不相等 D.两个值不相等

32.以下程序的输出结果是:

def f(x, y = 0, z = 0): pass

f(1, , 3)

A.pass B.None C.not D.出错

33.以下程序的输出结果是:

def fun1(a,b,*args):

print(a)

print(b)

print(args)

fun1(1,2,3,4,5,6)

A.1 ?2 [3, 4, 5, 6] ??B.1,2,3,4,5,6 C.1 ?2 ?3, 4, 5, 6 ????????D.1 ??2 ???(3, 4, 5, 6)

34.以下程序的输出结果是:

def func(num):

num *= 2

x = 20

func(x)

print(x)

A.40 B.出错 C.无输出 D.20

35.以下程序的输出结果是:

def func(a,*b):

for item in b:

a += item

return a

m = 0

print(func(m,1,1,2,3,5,7,12,21,33))

A.33 B.0 C.7 D.85

36.以下程序的输出结果是:

def test( b = 2, a = 4):

global z

z += a * b

return z

z = 10

print(z, test())

A.18 None B.10 18 C.UnboundLocalError D.18 18

37.以下程序的输出结果是:

def hub(ss, x = 2.0,y = 4.0):

ss += x * y

ss = 10

print(ss, hub(ss, 3))

A.22.0 None B.10 None C.22 None D.10.0 22.0

38.以下代码执行的输出结果是:

n = 2

def multiply(x,y = 10):

global n

return x * y * n

s = multiply(10,2)

print(s)

A.40 B.1024 C.200 D.400

39.下面代码的输出结果是

def change(a,b):

a = 10

b += a

a = 4

b = 5

change(a,b)

print(a,b)

A.10 5 B.4 15 C.10 15 D.4 5

40.执行以下代码,运行结果

def split(s):

return s.split(“a”)

s = “Happy birthday to you!”

print(split(s))

A.[‘H’, ‘ppy birthd’, ‘y to you!’] B.“Happy birthday to you!”

C.运行出错 D.[‘Happy’, ‘birthday’, ‘to’, ‘you!’]

41.以下程序的输出结果是:

def fun1():

print(“in fun1()”)

fun2()

fun1()

def fun2():

print(“in fun2()”)

fun1()

fun2()

A.in fun1() B.in fun2() C.死循环 D.出错

42.以下程序的输出结果是:

def calu(x = 3, y = 2, z = 10):

return(x ** y * z)

h = 2

w = 3

print(calu(h,w))

A.90 B.70 C.60 D.80

43.以下程序的输出结果是:

s = 0

def fun(num):

try:

s += num

return s

except:

return 0

return 5

print(fun(2))

A.0 B.2 C.UnboundLocalError D.5

44.当用户输入abc时,下面代码的输出结果是

try:

n = 0

n = input("请输入一个整数: ")

def pow10(n):

return n**10

except:

print(“程序执行错误”)

A.输出:abc ??????? B.程序没有任何输出????? ?? C.输出:0 ?? ?D.输出:程序执行错误

45.阅读下面的程序:

def func():

????print(x)

x=100

func()

执行上述语句后,输出的结果为( ?)。

A.0 ?????????B.100 ??????????C.程序出现异常?????????D.程序编译失败

参考答案:

1C 2A 3B 4B 5D 6D 7C 8D 9B 10C 11D 42D 13D 14D 15C 16B 17D 18D 19A

20D 21A 22C 23D 24D 25B 26D 27B 28D 29B 30D 31D 32D 33D 34D 35D 36B 37B 38A

39D 40A 41D 42D 43A 44B 45C

文章来源:https://blog.csdn.net/mynameispy/article/details/135567136
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。