2023年12月电子学会Python四级考试真题(含答案)
分数:100 题数:38
一、单选题(共25题,共50分)
1.下列有关分治算法思想的描述不正确的是?( )
A.将问题分解成的子问题具有相同的模式。
B.将问题分解出的各个子问题相互之间有公共子问题。
C.当问题足够小时,可以直接求解。
D.可以将子问题的求解结果合并成原问题的解。
答案:B
2.斐波那契数列前n项是1,1,2,3,5,8,13......
补全下面程序代码,求第n项斐波那契数列的值。
def fib(n):
if ______:
return 1
else:
return fib(n-1) + fib(n-2)
A.n == 2
B.n < 2
C.n == 3
D.n < 3
答案:D
3.用分治法求两个数的最大公约数,代码和运行结果如下,请选择合适的代码完成程序?( )
def fun(m, n):
if m % n == 0:
return n
else:
return __________
print(fun(98, 56))
程序运行结果如下:
14
A.fun(n, m-n)
B.fun(n, m%n)
C.fun(m, m-n)
D.fun(m, m%n)
答案:B
4.列出第三方库的详细信息的pip指令是?( )
A.pip install <第三方库名>
B.pip download<第三方库名>
C.pip show<第三方库名>
D.pip list<第三方库名>
答案:C
5.想要在Python中导入math模块中的sqrt(x)函数,下列程序段错误的是?( )
A.import math
math.sqrt(x)
B.from math import sqrt as t
t(x)
C.import math as m
m.sqrt(x)
D.import math
sqrt(x)
答案:D
6.关于求解“找出所有满足各位数字之和等于8的三位数”时,在下列数值范围内,算法执行效率最高的是?
A.0—999
B.0—1000
C.100—800
D.107—800
答案:D
7.已知,从1到n的连续自然数相乘的积叫做阶乘,用符号n!表示,比如3!=1×2×3,规定0!=1。那么用递归算法求n的阶乘,递归式正确的是?( )
A.f(0)=1,n=n*(n-1)
B.f(0)=1,f(n)=f(0)*f(n-1)
C.f(0)=1,f(n)=f(n)*f(n-1)
D.f(0)=1,f(n)=n*f(n-1)
答案:D
8.当n为6时,运行下列Python程序后的结果是?( )
def f(n):
if n<=2:
return 1
else:
return f(n-1)+f(n-2)
n=int(input("请输入一个正整数