P4-2109 青少年软件编程(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(正确答案) |
答案解析:按二分查法的规律,每次先查中间值,进行比较。
2.下面哪一项不是pip指令?() [单选题] *
A、pip install Scipy |
B、pip uninstall Jieba |
C、pip clear(正确答案) |
D、pip list |
答案解析:pip工具中没有clear方法。
3.有如下Python语句,执行该语句后,结果是?()
f=lambda x:5
print(f(3)) [单选题] *
踌躇的意思
A、3 |
B、没有输出 |
C、5(正确答案) |
D、None |
答案解析:将参数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 |
答案解析:调用函数inverse(456,123),将456逐位取出,并累加到123的后面,故选C
5.下列有关循环和递归的描述正确的是?() [单选题] *
A、递归思想代码清晰简洁,可读性强(正确答案) |
B、递归代码中不能有循环结构的语句 |
C、递归是从问题的起点出发,逐渐将复杂问题化为简单问题,最终求得问题 |
D、能用递归实现的,一定能用循环代码实现 |
答案解析:递归是从问题的目标出发,逐渐将复杂问题化为简单问题,最终求得问题
6.以下有关Python函数的定义表述中错误的是?() [单选题] *
A、函数的定义必须在主程序调用语句之前出现 |
B、在形参列表中必须先列出有默认值的形参,再列出没有默认值的形参(正确答案) |
C、实参是实际占用内存地址的,而形参不占用 |
D、def关键字后面加函数名定义函数,定义必须以冒号结尾 |
答案解析:在形参列表中必须先列出没有默认值的形参,再列出有默认值的形参。
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 |
答案解析:函数基本概念
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 |
答案解析:程序段中的数列其实是斐波那契数列,这个数列从第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 |
答案解析:该函数功能是将参数x.y用op的运算符运算,故选A
10.有如下Python程序,执行该程序后,结果是?()
x=3
def calc():
x=5
手机rom是什么意思print(calc()) [单选题] *
A、3 |
B、5 |
C、无输出 |
D、None(正确答案) |
答案解析:自定义函数没有return 语句,返回值为None,故选D
11.应用分治算法的前提是?() [单选题] *
A、问题的可分性和解的可归并性(正确答案) |
B、问题的复杂性和解的简单性 |
C、问题的可分性和解的存在性 |
D、问题的复杂性和解的可归并性 |
答案解析: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)) [单选题] *
计算机二级vbA |
B(正确答案) |
C |
D |
答案解析:每次弹起的高度都是上次的一半,因此递归式子为height(n-1)/2
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论