执行如下 Python 代码后, 结果是?( )
def inverse(s,n=0): while s:
n = n * 10 + s % 10
s = s // 10
return n
print(inverse(456,123))
654123
123456
123654
654321
下列有关循环和递归的描述正确的是?( )
递归思想代码清晰简洁, 可读性强
递归代码中不能有循环结构的语句
递归是从问题的起点出发, 逐渐将复杂问题化为简单问题, 最终求得问题
能用递归实现的, 一定能用循环代码实现
有如下 Python 语句, 执行该语句后, 结果是?( )
f=lambda x:5
print(f(3))
3
没有输出
5
None
以下有关 Python 函数的定义表述中错误的是?( )
函数的定义必须在主程序调用语句之前出现
在形参列表中必须先列出有默认值的形参, 再列出没有默认值的形参
实参是实际占用内存地址的, 而形参不占用
def 关键字后面加函数名定义函数, 定义必须以冒号结尾
下面哪一项不是 pip 指令?( )
pip install Scipy
pip uninstall Jieba
pip clear
pip list
对于数列 3, 8, 11, 15, 17, 19, 25, 30, 44, 采用“二分查找” 法查找 8, 需要查找多少次?( )
5
4
3
2
阅读下列程序段, 数列的第 6 项值为多少?( )
def fibona(x):
if x==1 or x==2:
f=1
for i in range(3,x+1):
f=fibona(x-1)+fibona(x-2)
return f
n=int(input("请输入数列第几项: "))
m=fibona(n)
print("数列的第"+str(n)+"项的值为"+str(m))
1
8
21
34
如下代码运行后下面选项中描述错误的是?( )
def pph(a,b):
c=a**2+b
b=a
return c
a=10
b=100
c=pph(a,b)+a
print(a,' ',b,' ',c)
执行该函数后, 变量 a 的值为 10
执行该函数后, 变量 b 的值为 100
执行该函数后, 变量 c 的值为 200
该函数名称为 pph
有如下 Python 的自定义函数, 执行该程序后, 结果是?( )
def calc(x,y,op):
return eval(str(x)+op+str(y))
print(calc(3,5,'+'))
8
35
None
-2
有如下 Python 程序, 执行该程序后, 结果是?( )
x = 3
def calc():
x = 5
print(calc())
3
5
无输出
None
应用分治算法的前提是?( )
问题的可分性和解的可归并性
问题的复杂性和解的简单性
问题的可分性和解的存在性
问题的复杂性和解的可归并性
有一球从 100 米高度自由落下, 每次落地后反跳回原高度的一半, 再落下, 求它在第 10
次落地前, 反弹多高? 用递归函数解决, 下面选项正确的是?( )
def height(n):
if n == 1:
return 100
else:
return n*2
print(height(10))
def height(n):
if n == 1:
return 100
else:
return height(n-1)/2
print(height(10))
def height(n):
if n == 1:
return 100
else:
return height(n+1)/2
print(height(10))
def height(n):
if n == 1:
return 100
else:
return height(n-1)*2
print(height(10))
下面的程序输出 1~100 之间能被 7 整除但不能同时被 5 整除的所有整数。
k=1
while k<101:
if k%7==0 and k%5 !=0:
print(k)
k += 1
根据下面哪个选项的方法优化后, 程序的运行效率最高?( )
将 k=1 改为 k=7
将 k
将 k += 1 改为 k += 7
将 k=1 改为 k=7, 同时将 k += 1 改为 k += 7
下列程序段的运行结果为?( )
def f(n):
if <=1:
return 1
else:
return f(n-1)*3
print(f(5))
9
27
81
243
下列选项中, 关于如何安装第三方库的说法正确的是?( )
如果电脑没有联网, 仍然可以使用 pip 工具安装本地的 whl 文件
必须使用命令行工具安装第三方库
第三方库只要可以用 pip 完整的下载下来, 就可以成功安装
安装上 Anaconda 就安装了所有的第三方库
运行以下程序输出的结果是?( )
y=2
def fun():
global y
y=1
print(y)
fun()
print(y)
2
1
2
2
1
2
1
1
有如下 Python 程序, 执行该程序后, 结果是?( )
g = lambda x,y=3,z=5:x+y+z
print(g(2))
2
5
7
10
观察此题示例代码, 以下表述中错误的是?( )
nums = range(2,20)
for i in nums:
nums=list( filter(lambda x:x==i or x % i,nums))
print(nums)
filter()函数输出后是一个数组而不是列表
示例代码中的关键字 lambda 表示匿名函数
lambda x:x==i or x % i,nums 中冒号:之前的 x 是这个函数的参数
匿名函数需要 return 来返回值, 表达式本身结果就是返回值
以下关于全局变量和局部变量的表述正确的是?( )
如果在函数中定义的局部变量与全局变量同名, 则全局变量屏蔽局部变量
可以通过 global 关键字, 通过全局变量修改局部变量
nonlocal 关键字用来在函数或局部作用域使用内层(非全局) 变量
全局变量的作用域一定比局部变量的作用域大
在一个平面中, 有 n 个圆两两相交, 但任二个圆不相切, 任三个圆无公共点, 以下函数
能计算出 n 个圆把平面分成的区域个数, 空格处填写的语句是?( )
def c(n):
if n=1:
return 2
else:
return _______
c(n-1)+2*(n-1)
c(n-1)+ c(n-2)
c(n-1)+2*n
c(n-1)+2*(n+1)
以下程序的运行结果是?( )
def f(x,y,z): print(x,y,z)
f(z=3,x=2,y=1)
3 2 1
1 2 3
2 1 3
3 1 2
关于以下程序, 下列表述中错误的一项是?( )
c=1
def fun(n):
a=1
for b in range(1,n):
a*=b
return a
n=int(input('Enter n='))
print(fun(n),c)
c 是全局变量, a 是局部变量
n 是形式参数, 当 n=5 时, 程序输出 120 1
程序实现求阶乘
range()函数是 python 内置函数
下面关于递归函数说法正确的是?( )
一般来说, 递归函数的执行效率高于非递归函数
边界条件和递归关系是递归函数编写的关键
递归函数的嵌套调用次数没有限制
递归函数不可以改写为非递归函数
下面哪种算法使用了分治的方法?( )
插入排序
快速排序
选择排序
冒泡排序
有如下 Python 程序段, 执行该程序后, 结果是?( )
def fun(*p):
return sum(p)
print(fun(1,3,5))
4
6
8
9