二级单选函数和代码复用.docx
《二级单选函数和代码复用.docx》由会员分享,可在线阅读,更多相关《二级单选函数和代码复用.docx(20页珍藏版)》请在冰豆网上搜索。
二级单选函数和代码复用
1关于递归函数的描述,以下选项中正确的是
A函数内部包含对本函数的再次调用
B函数比较复杂
C包含一个循环结构
D函数名称作为返回值
正确答案:
A
2关于递归函数基例的说明,以下选项中错误的是
A递归函数必须有基例
B每个递归函数都只能有一个基例
C递归函数的基例决定递归的深度
D递归函数的基例不再进行递归
正确答案:
B
3以下选项中,不属于函数的作用的是
A复用代码
B提高代码执行速度
C降低编程复杂度
D增强代码可读性
正确答案:
B
4假设函数中不包括global保留字,对于改变参数值的方法,以下选项中错误的是
A参数是整数类型时,不改变原参数的值
B参数是组合类型(可变对象)时,改变原参数的值
C参数是列表类型时,改变原参数的值
D参数的值是否改变与函数中对变量的操作有关,与参数类型无关
正确答案:
D
5在Python中,关于函数的描述,以下选项中正确的是.
APython函数定义中没有对参数指定类型,这说明,参数在函数中可以当作任意类型使用
B函数eval()可以用于数值表达式求值,例如eval("2*3+1")
C一个函数中只允许有一条return语句
DPython中,def和return是函数必须使用的保留字
正确答案:
B
6
给出如下代码:
deffunc(a,b):
c=a**2+b
b=a
returnc
a=10
b=100
c=func(a,b)+a
以下选项中描述错误的是
A执行该函数后,变量c的值为200
B执行该函数后,变量a的值为10
C执行该函数后,变量b的值为100
D该函数名称为func
正确答案:
A
7在Python中,关于全局变量和局部变量,以下选项中描述不正确的是
A一个程序中的变量包含两类:
全局变量和局部变量
B全局变量一般没有缩进
C全局变量在程序执行的全过程有效
D全局变量不能和局部变量重名
正确答案:
D
8关于面向对象和面向过程编程描述,以下选项中正确的是
A面向对象编程比面向过程编程更为高级
B模块化设计就是面向对象的设计
C面向对象和面向过程是编程语言的分类依据
D所有面向对象编程能实现的功能采用面向过程同样能完成
正确答案:
D
9以下选项中,对于递归程序的描述错误的是
A书写简单
B执行效率高
C递归程序都可以有非递归编写方法
D一定要有基例
正确答案:
B
10
下面代码的输出结果是
>>>f=lambdax,y:
y+x
>>>f(10,10)
A10,10
B10
C20
D100
正确答案:
C
11关于形参和实参的描述,以下选项中正确的是
A程序在调用时,将形参复制给函数的实参
B参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参
C函数定义中参数列表里面的参数是实际参数,简称实参
D程序在调用时,将实参复制给函数的形参
正确答案:
D
12关于lambda函数,以下选项中描述错误的是
A定义了一种特殊的函数
Blambda不是Python的保留字
Clambda函数将函数名作为函数结果返回
Dlambda函数也称为匿名函数
正确答案:
B
13以下选项中,对于函数的定义错误的是
Adefvfunc(*a,b):
Bdefvfunc(a,b):
Cdefvfunc(a,b=2):
Ddefvfunc(a,*b):
正确答案:
A
14关于函数的参数,以下选项中描述错误的是
A可选参数可以定义在非可选参数的前面
B一个元组可以传递给带有星号的可变参数
C在定义函数时,可以设计可变数量参数,通过在参数前增加星号(*)实现
D在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认值
正确答案:
A
15关于return语句,以下选项中描述正确的是
A函数可以没有return语句
B函数必须有一个return语句
C函数中最多只有一个return语句
Dreturn只能返回一个值
正确答案:
A
16关于函数,以下选项中描述错误的是
APython使用del保留字定义一个函数
B使用函数的主要目的是降低编程难度和代码重用
C函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可。
D函数是一段具有特定功能的、可重用的语句组
正确答案:
A
17关于Python的全局变量和局部变量,以下选项中描述错误的是
A简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放
B全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效
C局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用
D使用global保留字声明简单数据类型变量后,该变量作为全局变量使用
正确答案:
C
18关于Python的lambda函数,以下选项中描述错误的是
Alambda函数将函数名作为函数结果返回
B可以使用lambda函数定义列表的排序原则
Clambda用于定义简单的、能够在一行内表示的函数
Df=lambdax,y:
x+y执行后,f的类型为数字类型
正确答案:
D
19
下面代码实现的功能描述为
deffact(n):
ifn==0:
return1
else:
returnn*fact(n-1)
num=eval(input("请输入一个整数:
"))
print(fact(abs(int(num))))
A接受用户输入的整数N,判断N是否是水仙花数
B接受用户输入的整数N,判断N是否是完数并输出结论
C接受用户输入的整数N,判断N是否是素数并输出结论
D接受用户输入的整数N,输出N的阶乘值
正确答案:
D
20
给出如下代码:
deffact(n):
s=1
foriinrange(1,n+1):
s*=i
returns
以下选项中描述错误的是
Afact(n)函数功能为求n的阶乘
B代码中n是可选参数
Crange()函数是Python内置函数
Ds是局部变量
正确答案:
B
21
给出如下代码:
ls=["car","truck"]
deffunC(a):
ls.append(a)
return
funC("bus")
print(ls)
以下选项中描述错误的是
Als.append(a)代码中的ls是列表类型
B执行代码输出结果为['car','truck']
Cls.append(a)代码中的ls是全局变量
DfunC(a)中的a为非可选参数
正确答案:
B
22
给出如下代码:
ls=["car","truck"]
deffunC(a):
ls=[]
ls.append(a)
return
funC("bus")
print(ls)
以下选项中描述错误的是
A执行代码输出结果为['car','truck']
B执行代码输出结果为['car','truck','bus']
Cls.append(a)代码中的ls是列表类型
D代码函数定义中,ls.append(a)中的ls是局部变量
正确答案:
B
23
给出如下代码:
importturtle
defdrawLine(draw):
turtle.pendown()ifdrawelseturtle.penup()
turtle.fd(50)
turtle.right(90)
drawLine(True)
drawLine(True)
drawLine(True)
drawLine(True)
以下选项中描述错误的是
A代码drawLine(True)中True替换为–1,运行代码结果不变
B代码defdrawLine(draw)中的draw可取值True或者False
C运行代码,在PythonTurtleGraphics中,绘制一个正方形
D代码drawLine(True)中True替换为0,运行代码结果不变
正确答案:
D
24给出如下代码:
importturtle
defdrawLine(draw):
turtle.pendown()ifdrawelseturtle.penup()
turtle.fd(50)
turtle.right(90)
drawLine(True)
drawLine(0)
drawLine(True)
drawLine(True)
turtle.left(90)
drawLine(0)
drawLine(True)
drawLine(True)
以下选项中描述错误的是:
A代码drawLine(True)中True替换为0,运行代码结果不变
B代码defdrawLine(draw)中的draw可取数值0、1、–1等
C代码drawLine(True)中True替换为–1,运行代码结果不变
D运行代码,在PythonTurtleGraphics中,绘制一个数码管数字2
正确答案:
A
25下面代码的运行结果是
deffunc(num):
num+=1
a=10
func(a)
print(a)
A11
Bint
C10
D出错
正确答案:
C
26下面代码的输出结果是
deffunc(a,b):
returna>>b
s=func(5,2)
print(s)
A6
B1
C12
D20
正确答案:
B
27下面代码的输出结果是
deffunc(a,b):
a*=b
returna
s=func(5,2)
print(s)
A10
B1
C12
D20
正确答案:
A
28下面代码的输出结果是
deff2(a):
ifa>33:
returnTrue
li=[11,22,33,44,55]
res=filter(f2,li)
print(list(res))
A[22,33,44]
B[11,33,55]
C[44,55]
D[33,44,55]
正确答案:
C
29下面代码的输出结果是
deffib(n):
a,b=1,1
foriinrange(n-1):
a,b=b,a+b
returna
print(fib(7))
A8
B21
C13
D5
正确答案:
C
30下面代码的输出结果是
defhello_world():
print('ST',end="*")
defthree_hellos():
foriinrange(3):
hello_world()
three_hellos()
AST*
BST*ST*ST*
C***
DST*ST*
正确答案:
B
31下面代码的输出结果是
defexchange(a,b):
a,b=b,a
return(a,b)
x=10
y=20
x,y=exchange(x,y)
print(x,y)
A1010
B2020
C2010
D20,10
正确答案:
C
32下面代码的输出结果是
MA=lambdax,y:
(x>y)*x+(xMI=lambdax,y:
(x>y)*y+(xa=10
b=20
print(MA(a,b))
print(MI(a,b))
A
20
10
B
10
20
C
10
10
D
20
20
正确答案:
A
33关于下面的代码,以下选项中描述正确的是
>>>list(range(0,10,2))
A按位置参数调用
B执行结果为0,2,4,6,8
C按关键字参数调用
D按可变参数调用
正确答案:
A
34关于下面代码,以下选项中描述正确的是
deffact(n,m=1):
s=1
foriinra