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
5Python 中,关于函数的描述,以下选项中正确的是 .
A Python 函数定义中没有对参数指定类型,这说明,参数在函数中可以当作任意类型使用
B 函数 eval() 可以用于数值表达式求值,例如 eval("2*3+1")
C 一个函数中只允许有一条 return 语句
D Python 中, def return 是函数必须使用的保留字 正确答案: B
6
给出如下代码:
def func(a,b):
c=a**2+b
b=a
return c
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=lambda x,y:y+x >>>f(10,10)
A 10,10
B 10
C 20
D 100 正确答案: C
11关于形参和实参的描述,以下选项中正确的是
A 程序在调用时,将形参复制给函数的实参
B 参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参
C 函数定义中参数列表里面的参数是实际参数,简称实参
D 程序在调用时,将实参复制给函数的形参 正确答案: D
12关于 lambda 函数,以下选项中描述错误的是
A 定义了一种特殊的函数
B lambda 不是 Python 的保留字
C lambda 函数将函数名作为函数结果返回
D lambda 函数也称为匿名函数 正确答案: B
13以下选项中,对于函数的定义错误的是
A def vfunc(*a,b):
B def vfunc(a,b):
C def vfunc(a,b=2):
D def vfunc(a,*b):
正确答案: A
14关于函数的参数,以下选项中描述错误的是
A 可选参数可以定义在非可选参数的前面
B 一个元组可以传递给带有星号的可变参数
C 在定义函数时,可以设计可变数量参数,通过在参数前增加星号(    * )实现
D 在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认 值 正确答案: A
15关于 return 语句,以下选项中描述正确的是
A 函数可以没有 return 语句
B 函数必须有一个 return 语句
C 函数中最多只有一个 return 语句
D return 只能返回一个值
正确答案: A
16关于函数,以下选项中描述错误的是
A Python 使用 del 保留字定义一个函数
B 使用函数的主要目的是降低编程难度和代码重用
C 函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的 输入输出方式即可。
D 函数是一段具有特定功能的、可重用的语句组
正确答案: A
17关于 Python 的全局变量和局部变量,以下选项中描述错误的是
lambda编程A 简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变 量被释放
B 全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效
C 局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以 继续使用
D 使用 global 保留字声明简单数据类型变量后,该变量作为全局变量使用 正确答案: C
18关于 Python lambda 函数,以下选项中描述错误的是
A lambda 函数将函数名作为函数结果返回
B 可以使用 lambda 函数定义列表的排序原则
C lambda 用于定义简单的、能够在一行内表示的函数
D f = lambda x,y:x+y 执行后, f 的类型为数字类型 正确答案: D
19 下面代码实现的功能描述为 def fact(n):
if n==0:
return 1
else:
return n*fact(n-1)
num =eval(input(" 请输入一个整数: "))
N ,判断 N 是否是水仙花数
N,判断 N 是否是完数并输出结论
N,判断 N 是否是素数并输出结论
N,输出 N 的阶乘值
print(fact(abs(int(num)))) A 接受用户输入的整数 B 接受用户输入的整数 C 接受用户输入的整数 D 接受用户输入的整数 正确答案: D
20 给出如下代码: def fact(n):
s = 1
for i in range(1,n+1): s *= i
return s 以下选项中描述错误的是
A fact(n) 函数功能为求 n 的阶乘
B 代码中 n 是可选参数
C range() 函数是 Python 内置函数
D s 是局部变量 正确答案: B
21 给出如下代码: ls = ["car","truck"] def funC(a): ls.append(a) return funC("bus") print(ls) 以下选项中描述错误的是
A ls.append(a) 代码中的 ls 是列表类型 B 执行代码输出结果为 ['car', 'truck']
C ls.append(a) 代码中的 ls 是全局变量 D funC(a) 中的 a 为非可选参数 正确答案: B
22 给出如下代码: ls = ["car","truck"] def funC(a):
ls =[] ls.append(a) return
funC("bus")
print(ls) 以下选项中描述错误的是
A 执行代码输出结果为 ['car', 'truck']
B 执行代码输出结果为 ['car', 'truck', 'bus'] C ls.append(a) 代码中的 ls 是列表类型 D 代码函数定义中, ls.append(a) 中的 ls 是局部变量 正确答案: B
23 给出如下代码: import turtle def drawLine(draw):
turtle.pendown() if draw else turtle.penup() turtle.fd(50) turtle.right(90)
drawLine(True) drawLine(True) drawLine(True) drawLine(True) 以下选项中描述错误的是 A 代码 drawLine(True) True 替换为 – 1 ,运行代码结果不变 B 代码 def drawLine(draw) 中的 draw 可取值 True 或者 False C 运行代码,在 Python Turtle Graphics 中,绘制一个正方形 D 代码 drawLine(True) True 替换为 0 ,运行代码结果不变 正确答案: D 24 给出如下代码: import turtle def drawLine(draw):
turtle.pendown() if draw else turtle.penup() turtle.fd(50)
turtle.right(90) drawLine(True) drawLine(0) drawLine(True) drawLine(True) turtle.left(90) d
rawLine(0) drawLine(True) drawLine(True) 以下选项中描述错误的是: A 代码 drawLine(True) True 替换为 0 ,运行代码结果不变 B 代码 def drawLine(draw) 中的 draw 可取数值 01、 – 1 C 代码 drawLine(True) True 替换为 – 1 ,运行代码结果不变 D 运行代码,在 Python Turtle Graphics 中,绘制一个数码管数字 2 正确答案: A
25 下面代码的运行结果是
def func(num):
num += 1 a =10 func(a) print(a) A 11 B int C 10 D 出错 正确答案: C
26 下面代码的输出结果是 def func(a,b):
return a>>b s = func(5,2) print(s) A 6 B 1 C 12 D 20 正确答案: B 27 下面代码的输出结果是 def func(a,b):
a *= b
return a s = func(5,2) print(s) A 10 B 1 C 12 D 20 正确答案: A 28 下面代码的输出结果是
def f2(a):
if a > 33: return True 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 下面代码的输出结果是 def fib(n):

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。