万卷网> 信息素养大赛 >Python编程挑战赛 > 全国青少年电子信息智能创新大赛Python编程挑战赛_初赛_模拟五卷

全国青少年电子信息智能创新大赛Python编程挑战赛_初赛_模拟五卷
初赛 模拟 其他 2022 2022-11-01 17:30:32 83

一、单选题

1.

以下关于全局变量和局部变量的表述正确的是?( )

A.

如果在函数中定义的局部变量与全局变量同名,则全局变量屏蔽局部变量

B.

可以通过global关键字,通过全局变量修改局部变量

C.

nonlocal关键字用来在函数或局部作用域使用内层(非全局)变量

D.

全局变量的作用域一定比局部变量的作用域大

2.

下列有关循环和递归的描述正确的是?( )

A.

递归思想代码清晰简洁,可读性强

B.

递归代码中不能有循环结构的语句

C.

递归是从问题的起点出发,逐渐将复杂问题化为简单问题,最终求得问题

D.

能用递归实现的,一定能用循环代码实现

3.

阅读下列程序段,数列的第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

4.

下面哪种算法使用了分治的方法?( )

A.

插入排序

B.

快速排序

C.

选择排序

D.

冒泡排序

5.

以下有关Python函数的定义表述中错误的是?( )

A.

函数的定义必须在主程序调用语句之前出现

B.

在形参列表中必须先列出有默认值的形参,再列出没有默认值的形参

C.

实参是实际占用内存地址的,而形参不占用

D.

def关键字后面加函数名定义函数,定义必须以冒号结尾

6.

关于以下程序,下列表述中错误的一项是?( )

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)


A.

c是全局变量,a是局部变量

B.

n是形式参数,当n=5时,程序输出120 1

C.

程序实现求阶乘

D.

range()函数是python内置函数

7.

有如下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

8.

下列程序段的运行结果为?( )

def f(n):
    if n<=1:
         return 1
    else:
        return f(n-1)*3
print(f(5))


A.

9

B.

27

C.

81

D.

243

9.

有一球从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))


10.

下面关于递归函数说法正确的是?(    )

A.

一般来说,递归函数的执行效率高于非递归函数

B.

边界条件和递归关系是递归函数编写的关键

C.

递归函数的嵌套调用次数没有限制

D.

递归函数不可以改写为非递归函数

11.

下列选项中,关于如何安装第三方库的说法正确的是?( )

A.

如果电脑没有联网,仍然可以使用pip工具安装本地的whl文件

B.

必须使用命令行工具安装第三方库

C.

第三方库只要可以用pip完整的下载下来,就可以成功安装

D.

安装上Anaconda就安装了所有的第三方库

12.

有如下Python程序段,执行该程序后,结果是?( )

def fun(*p):
    return sum(p)
print(fun(1,3,5))


A.

4

B.

6

C.

8

D.

9

13.

在一个平面中,有n个圆两两相交,但任二个圆不相切,任三个圆无公共点,以下函数能计算出n个圆把平面分成的区域个数,空格处填写的语句是?( )

def c(n):

    if n=1:

         return 2

    else:

         return                   

A.

c(n-1)+2*(n-1)

B.

c(n-1)+ c(n-2)

C.

c(n-1)+2*n

D.

c(n-1)+2*(n+1)

14.

有如下Python程序,执行该程序后,结果是?( )

g = lambda x,y=3,z=5:x+y+z
print(g(2))


A.

2

B.

5

C.

7

D.

10

15.

观察此题示例代码,以下表述中错误的是?( )

nums = range(2,20)
for i in nums:
    nums=list( filter(lambda x:x==i or x % i,nums))
print(nums)


A.

filter()函数输出后是一个数组而不是列表

B.

示例代码中的关键字lambda表示匿名函数

C.

lambda x:x==i or x % i,nums中冒号:之前的x是这个函数的参数

D.

匿名函数需要return来返回值,表达式本身结果就是返回值

16.

有如下Python程序,执行该程序后,结果是?( )

x = 3
def  calc():
    x = 5
print(calc())


A.

3

B.

5

C.

无输出

D.

None

17.

以下程序的运行结果是?( )

def f(x,y,z):     print(x,y,z)

f(z=3,x=2,y=1)

A.

3 2 1

B.

1 2 3

C.

2 1 3

D.

3 1 2

18.

对于数列3,8,11,15,17,19,25,30,44,采用“二分查找”法查找8,需要查找多少次?( )

A.

5

B.

4

C.

3

D.

2

19.

执行如下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

20.

如下代码运行后下面选项中描述错误的是?( )

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

21.

下面哪一项不是pip指令?( )

A.

pip install Scipy

B.

pip uninstall Jieba

C.

pip clear

D.

pip list

22.

下面的程序输出1~100之间能被7整除但不能同时被5整除的所有整数。

k=1

while k<101:

   if k%7==0 and k%5 !=0:

       print(k)

   k += 1

根据下面哪个选项的方法优化后,程序的运行效率最高?( )

A.

将k=1改为k=7

B.

将k

C.

将k += 1改为k += 7

D.

将k=1改为k=7,同时将k += 1改为k += 7

23.

运行以下程序输出的结果是?( )

y=2
def fun():  
    global y  
    y=1  
    print(y)
fun()
print(y)


A.

2

1

B.

2

2

C.

1

2

D.

1

1

24.

应用分治算法的前提是?( )

A.

问题的可分性和解的可归并性

B.

问题的复杂性和解的简单性

C.

问题的可分性和解的存在性

D.

问题的复杂性和解的可归并性

25.

有如下Python语句,执行该语句后,结果是?( )

f=lambda x:5
print(f(3))


A.

3

B.

没有输出

C.

5

D.

None

公众号
客服 反馈
顶部