青少年软件编程(Python)等级考试试卷(四级)
分数:100.00 题数:38
一、单选题
(共25题,每题2分,共50分)
1. 对于数列3,8,11,15,17,19,25,30,44,采用“二分查找”法查找8,需要查找多少次?( )
A、5
B、4
C、3
D、2
题型:单选题
答案:D
难度:容易
试题解析:按二分查找法的规律,每次先查找中间值,进行比较。
2. 下面哪一项不是pip指令?( )
A、pip install Scipy
B、pip uninstall Jieba
C、pip clear
D、pip list
题型:单选题
答案:C
难度:容易
试题解析:pip工具中没有clear方法。
3. 有如下Python语句,执行该语句后,结果是?( )
f=lambda x:5
print(f(3))
A、3
B、没有输出
C、5
D、None
题型:单选题
答案:C
难度:一般
试题解析:将参数3传递给匿名函数f,返回值为5,故选C
4.
执行如下Python代码后,结果是?( )
def inverse(s,n=0):
while s:
n = n * 10 + s % 10
s = s // 10
return n
print(inverse(456,123))
A、654123
B、123456
C、123654
D、654321
题型:单选题
答案:C
难度:一般
试题解析:调用函数inverse(456,123),将456逐位取出,并累加到123的后面,故选C
5. 下列有关循环和递归的描述正确的是?( )
A、递归思想代码清晰简洁,可读性强
B、递归代码中不能有循环结构的语句
C、递归是从问题的起点出发,逐渐将复杂问题化为简单问题,最终求得问题
D、能用递归实现的,一定能用循环代码实现
题型:单选题
答案:A
难度:一般
试题解析:递归是从问题的目标出发,逐渐将复杂问题化为简单问题,最终求得问题
6. 以下有关Python函数的定义表述中错误的是?( )
A、函数的定义必须在主程序调用语句之前出现
B、在形参列表中必须先列出有默认值的形参,再列出没有默认值的形参
C、实参是实际占用内存地址的,而形参不占用
D、def关键字后面加函数名定义函数,定义必须以冒号结尾
题型:单选题
答案:B
难度:一般
试题解析:在形参列表中必须先列出没有默认值的形参,再列出有默认值的形参。
7. 如下代码运行后下面选项中描述错误的是?( )
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、执行该函数后,变量a的值为10
B、执行该函数后,变量b的值为100
C、执行该函数后,变量c的值为200
D、该函数名称为pph
题型:单选题
答案:C
难度:一般
试题解析:函数基本概念
8. 阅读下列程序段,数列的第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))
A、1
B、8
C、21
D、34
题型:单选题
答案:B
难度:容易
试题解析:程序段中的数列其实是斐波那契数列,这个数列从第3项开始,每一项都等于前两项之和。1, 1, 2, 3, 5, 8, 13, 21, 34, 55…
9.
有如下Python的自定义函数,执行该程序后,结果是?( )
def calc(x,y,op):
return eval(str(x)+op+str(y))
print(calc(3,5,'+'))
A、8
B、35
C、None
D、-2
题型:单选题
答案:A
难度:一般
试题解析:该函数功能是将参数x,y用op的运算符运算,故选A
10. 有如下Python程序,执行该程序后,结果是?( )
x = 3
def
calc():
x = 5
print(calc())
A、3
B、5
C、无输出
D、None
题型:单选题
答案:D
难度:一般
试题解析:自定义函数没有return语句,返回值为None,故选D
11. 应用分治算法的前提是?( )
A、问题的可分性和解的可归并性
B、问题的复杂性和解的简单性
C、问题的可分性和解的存在性
D、问题的复杂性和解的可归并性
题型:单选题
答案:A
难度:一般
试题解析:A。问题的可分性和解的可归并性是应用分治算法的前提。
12. 有一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地前,反弹多高?用递归函数解决,下面选项正确的是?( )
A、def height(n):
if n == 1:
return 100
else:
return n*2
print(height(10))
B、def height(n):
if n == 1:
return 100
else:
return height(n-1)/2
print(height(10))
C、def height(n):
if n == 1:
return 100
else:
return height(n+1)/2
print(height(10))
D、def height(n):
if n == 1:
return 100
else:
return height(n-1)*2
print(height(10))
题型:单选题
答案:B
难度:一般
试题解析:每次弹起的高度都
青少年软件编程(Python)等级考试试卷(四级),青少年软件编程(Python)等级考试试卷(4级)电子学会青少年软件编程Python等级考试真题及答案,2021年9月电子学会Python等级考试4级真题试卷及答案