全国青少年电子信息智能创新大赛
python·选做题模拟五卷
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
快速排序python实现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
难度:一般
试题解析:每次弹起的高度都是上次的一半,因此递归式子为height(n-1)/2
13. 有如下Python程序,执行该程序后,结果是?( )
g = lambda x,y=3,z=5:x+y+z
print(g(2))
A、2
B、5
C、7
D、10

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