#396. 2023信息素养大赛Python挑战赛初赛-模拟卷10(提高卷)

2023信息素养大赛Python挑战赛初赛-模拟卷10(提高卷)

选择题

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

{{ select(1) }}

  • 5
  • 4
  • 3
  • 2

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

{{ select(2) }}

  • pip install Scipy
  • pip uninstall Jieba
  • pip clear
  • pip list

  1. 有如下Python语句,执行该语句后,结果是?( )
f=lambda x:5
print(f(3))

{{ select(3) }}

  • 3
  • 没有输出
  • 5
  • None

  1. 执行如下Python代码后,结果是?( )
def inverse(s,n=0):
    while s:
        n = n * 10 + s % 10
        s = s // 10
    return n
print(inverse(456,123))

{{ select(4) }}

  • 654123
  • 123456
  • 123654
  • 654321

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

{{ select(5) }}

  • 递归思想代码清晰简洁,可读性强
  • 递归代码中不能有循环结构的语句
  • 递归是从问题的起点出发,逐渐将复杂问题化为简单问题,最终求得问题
  • 能用递归实现的,一定能用循环代码实现

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

{{ select(6) }}

  • 函数的定义必须在主程序调用语句之前出现
  • 在形参列表中必须先列出有默认值的形参,再列出没有默认值的形参
  • 实参是实际占用内存地址的,而形参不占用
  • def关键字后面加函数名定义函数,定义必须以冒号结尾

  1. 如下代码运行后下面选项中描述错误的是?( )
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)

{{ select(7) }}

  • 执行该函数后,变量a的值为10
  • 执行该函数后,变量b的值为100
  • 执行该函数后,变量c的值为200
  • 该函数名称为pph

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

{{ select(8) }}

  • 1
  • 8
  • 21
  • 34

  1. 有如下Python的自定义函数,执行该程序后,结果是?( )
def  calc(x,y,op):
   return eval(str(x)+op+str(y))
print(calc(3,5,'+'))

{{ select(9) }}

  • 8
  • 35
  • None
  • -2

  1. 有如下Python程序,执行该程序后,结果是?( )
x = 3
def calc():
    x = 5
print(calc())

{{ select(10) }}

  • 3
  • 5
  • 无输出
  • None

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

{{ select(11) }}

  • 问题的可分性和解的可归并性
  • 问题的复杂性和解的简单性
  • 问题的可分性和解的存在性
  • 问题的复杂性和解的可归并性

  1. 有一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地前,反弹多高?用递归函数解决,下面选项正确的是?( )

{{ select(12) }}

  • def height(n):
         if n == 1:
             return 100
         else:
             return n*2
    print(height(10))
    
  • def height(n):
         if n == 1:
             return 100
         else:
             return heigth(n-1)/2
    print(height(10))
    
  • def height(n):
         if n == 1:
             return 100
         else:
             return heigth(n+1)/2
    print(height(10))
    
  • def height(n):
         if n == 1:
             return 100
         else:
             return heigth(n-1)*2
    print(height(10))
    

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

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

{{ select(13) }}

  • 2
  • 5
  • 7
  • 10

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

    k=1
    while k<101:
        if k%7==0 and k%5 !=0:
             print(k)
        k += 1
    

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

{{ select(14) }}

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

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

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

{{ select(15) }}

  • 9
  • 27
  • 81
  • 243

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

{{ select(16) }}

  • 如果电脑没有联网,仍然可以使用pip工具安装本地的whl文件
  • 必须使用命令行工具安装第三方库
  • 第三方库只要可以用pip完整的下载下来,就可以成功安装
  • 安装上Anaconda就安装了所有的第三方库

  1. 运行以下程序输出的结果是?( )
    y=2
    def fun():
        global y
        y=1  
        print(y)
    fun()
    print(y)
    

{{ select(17) }}


  • 2
    1

  • 2
    2

  • 1
    2

  • 1
    1

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

{{ select(18) }}

  • 插入排序
  • 快速排序
  • 选择排序
  • 冒泡排序

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

{{ select(19) }}

  • 一般来说,递归函数的执行效率高于非递归函数
  • 边界条件和递归关系是递归函数编写的关键
  • 递归函数的嵌套调用次数没有限制
  • 递归函数不可以改写为非递归函数

  1. 观察此题示例代码,以下表述中错误的是?( )
    nums = range(2,20)
    for i in nums:
        nums=list( filter(lambda x:x==i or x % i,nums))
    print(nums)
    

{{ select(20) }}

  • filter()函数输出后是一个数组而不是列表
  • 示例代码中的关键字lambda表示匿名函数
  • lambda x:x==i or x % i,nums中冒号:之前的x是这个函数的参数
  • 匿名函数需要return来返回值,表达式本身结果就是返回值

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

{{ select(21) }}

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

  1. 有如下Python程序段,执行该程序后,结果是?( )
    def fun(*p):
        return sum(p)
    print(fun(1,3,5))
    

{{ select(22) }}

  • 4
  • 6
  • 8
  • 9

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

{{ select(23) }}

  • 如果在函数中定义的局部变量与全局变量同名,则全局变量屏蔽局部变量
  • 可以通过global关键字,通过全局变量修改局部变量
  • nonlocal关键字用来在函数或局部作用域使用内层(非全局)变量
  • 全局变量的作用域一定比局部变量的作用域大

  1. 关于以下程序,下列表述中错误的一项是?( )
    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)
    

{{ select(24) }}

  • c是全局变量,a是局部变量
  • n是形式参数,当n=5时,程序输出120 1
  • 程序实现求阶乘
  • range()函数是python内置函数

  1. 以下程序的运行结果是?( )
    def f(x,y,z):  
        print(x,y,z)
    f(z=3,x=2,y=1)
    

{{ select(25) }}

  • 3 2 1
  • 1 2 3
  • 2 1 3
  • 3 1 2