当前位置: 首页 > news >正文

2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(四级)真题

青少年软件编程(Python)等级考试试卷(四级)

分数:100 题数:38

答案解析:https://blog.csdn.net/qq_33897084/article/details/147341407

一、单选题(共25题,共50分)

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

def s(n):
    if n==3:
        return 4
    else:
        return n+s(n-1)
print(s(5))
A. 1
B. 12
C. 13
D. 15

2. 下列程序段的运行结果是16,则在①处填写的代码是?( )

def s(n):
    s=1
    for a in range(1,5):
              ①       
    return s
print(s(4))
A. s=s*2
B. s=s+n
C. s=s+a
D. s=s+1

3. 下列程序功能是通过递归来实现将一个十进制数转换为八进制数,则在______处填写的代码是?( )

def s(n):
    if n < 8:
        return str(n)
    else:
        return _____________
m = s(int(input(“输入十进制数字:”)))
print(“转换后八进制数是:”,m)
A. s(n//8)+n
B. s(n//8)
C. s(n//8)+str(n%8)
D. str(n%8)

4. 关于递归算法的特点,以下选项中描述错误的是?( )

A. 递归算法一定存在递归出口
B. 递归的特点就是反复调用自身,将大问题变为同类小问题
C. 递归可以避免使用复杂的循环结构,从而有效降低代码的复杂程度
D. 递归算法简洁,运行效率较高

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

def nxs(n):
    s = 0
    while n >0:
        s = s * 10 + n % 10
        n //= 10
    return s
print(nxs(123))
A. 123
B. 6
C. 231
D. 321

6. 有如下Python程序,执行该程序后变量c的值是?( )

def prime(n):
    for i in range(2,n):
        if n % i == 0:
            return 0
    return 1
c = 0
for i in range(2,10):
    if prime(i):
        c += 1

A. 3
B. 4
C. 5
D. 6

7. 有如下Python程序,执行该程序后,输出的结果是?( )

def zdz(s):
    m = s[0]
    for i in s[1:]:
        if i > m:
            m = i
    return m
print(zdz(‘abc789XYZ’))
A. c
B. 9
C. Z
D. None

8. 有如下Python程序,执行该程序后输出的结果是?( )

n = 10
def fun():
    global n
    n = n ** 2
    print(n)
fun()
print(n)
A. 100
100

B. 20
20

C. 100
10

D. 10
100

9. 在Python中,可以通过什么语句导入现有的标准库或者其他人提供的第三方库来编程?( )

A. import
B. def
C. input
D. output

10. Python程序中某函数使用了3个变量,其中2个变量都指定了默认值,调用该函数时,参数的个数最少为几个?( )

A. 0
B. 2
C. 1
D. 3

11. 递归算法的基本思想是把规模较大的问题变成规模较小的问题,下列选项中哪一项必须要有?( )

A. 循环语句
B. 数学知识
C. 明确的结束递归的边界条件
D. 明确的开始递归的边界条件

12. 图1是一个水平摆放的小正方体木块,图2,图3是由这样的小正方体木块叠放而成的,按照这样的规律放下去,第七个叠放的图形有多少个正方形木块?这个问题我们可以用以下什么算法解决?( )

image

A. 查找
B. 递推
C. 排序
D. 选择

13. 以下算法中,不可以按照分治的策略问题由大化小的是?( )

A. 快速排序
B. 冒泡排序
C. 汉诺塔
D. 二分查找

14. 以下函数的功能是求长方形面积,函数调用的正确方式是哪一项?( )

def fun(a, b):
    return a * b
A. fun(a = 1, 2)
B. fun(a = 1)
C. fun(2)
D. fun(1, b=2)

15. 以下函数求圆的面积,运行如下代码结果正确的是哪一项?( )

def fun(r, pi=3.14):
    return r  r  pi
print(fun(10, 3))
A. 314
B. 300
C. 31.4
D. 程序会报错

16. 以下函数用“分治算法”求列表元素之和,请补全代码?( )

def fun(arr):
    if len(arr) == 1:
        return arr[0]
    mid = len(arr) // 2
    left = fun(arr[:mid])
    right = ____________
    return left + right
arr = [1,2,3,4,5,6,7,8,9,10]
print(fun(arr))
A. fun(arr[mid+1:])
B. sum([mid:])
C. fun(arr[mid:])
D. sum(arr[mid+1:])

17. 下列关于创建词云图的是哪个模块?( )

A. pyquery
B. wordcloud
C. xlrd
D. wheel

18. 下列正确导入海龟库的方式是?( )

A. import turtle as
B. from turtle as t
C. from turtle import t
D. import turtle

19. 以下哪一项不属于分治算法的特征?( )

A. 一个复杂的问题可以划分成多个相同或相似的子问题
B. 划分出的子问题容易找到简单的求解方法
C. 将所有子问题的解合并起来可以得到原问题的解
D. 分治算法的执行效率很低

20. 小明班上有50人,数学成绩已经由高到低排列,使用二分查找查找出小明的成绩,至多进行几次查找?( )

A. 50次
B. 8次
C. 7次
D. 6次

21. 对于Python语句f=lambda x,y:x**y+x//y,print(f(7,2))的输出结果是?( )

A. 17
B. 18
C. 52
D. 53

22. 运行下列程序,输出的结果是?( )

def fn(x, y):
        if x >=y:
                return x-y
        else:
                return y
print(fn(4, 7),fn(8, 5))
A. 7 3
B. 7 5
C. -3 5
D. -3 3

23. 下列有关函数的说法,不正确的是?( )

A. 使用random模块的函数randint(1, 100)获取随机数时,有可能会得到100
B. 如果Python程序包含一个函数main(),这个函数与其他函数地位相同
C. 函数是代码复用的一种方式
D. 已知 f = lambda x: 5,那么表达式 f(3)的值为3

24. 运行下列程序,输出的结果是?( )

def f(x=2,y=0):
        return x-y
y=f(y=f(),x=5)
print(y)
A. -3
B. 3
C. 2
D. 5

25. 当n为10时,运行下列Python程序后的结果是?( )

def fn(num):
    if num % 2 == 0:
        return False
    else:
        return True
n=int(input(“请输入一个正整数:”))
print(fn(n))
A. True
B. False
C. 出错不能运行
D. None

二、判断题(共10题,共20分)

26. 递归算法需要设置递归终止条件,不然会进入无限递归的情况。( )
27. 递归算法的特点是调用自身,所以占用的存储空间较小。( )
28. 添加第三方库可以不用命令或集成开发工具,直接通过网络工具下载任意该库的.exe安装文件,运行安装即可。( )
29. Python中return语句将函数值返回到调用函数的代码处。( )
30. 函数的返回值可以是整数型、字符串型、列表等,不能是字典类型。( )
31. 运行以下代码:

def fun(x, y, z):
    return x + y - z
print(fun(1, y=10, 3)
运行结果为:8。( )

32. 一个袋子里有128枚硬币,其中一枚是假币,并且假币和真币外观一模一样,仅凭肉眼无法区分,仅知道假币比真币轻一些,我们现在借助天平来查找假币,最多称9次可以找到假币。( )
33. 算法的空间复杂度越高,说明算法对应的程序代码量越多。( )
34. 在Python中自定义函数时,形参与返回值不是必需的( )
35. 在Python中,函数体return语句之后的代码行都不会被执行,return语句结束整个函数。( )

三、编程题(共3题,共30分)

36. 米粒问题

阿凡提与国王比赛下棋,国王说要是自己输了的话阿凡提想要什么他都可以拿得出来。阿凡提说那就要点米吧,棋盘一共64个小格子,在第一个格子里放1粒米,第二个格子里放2粒米,第三个格子里放4粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把64个格子都放满。需要多少粒米呢?根据题意,请完善划线处的代码。

def fun(n):
    x =         ①        
    for i in range(n):
                ②        
    return x
s = ③
for i in range(64):
    s += fun(        ④        )
print(s)
 
评分标准:
(1)1 或等效答案;(3分)
(2)x *= 2 或等效答案;(4分)
(3)0 或等效答案;(3分)
(4)i 或等效答案。(2分)

37. 查字典

假如字典为1000页,若用二分法来翻到具体指定的页码,则横线处能正确控制循环体运行的表达式是什么?请完善横线处的代码。
x=int(input(“请输入要查找的页码(小于1000):”))
flagleft=1
flagright=1000
n=0
while ① :
        mid= (flagleft+flagright)//2
        n=n+1
        if  mid>x:
                    ②        
        elif mid<x:
                     ③        
        else:
                break
print(‘需要查找的次数为:’,n)
评分标准:
(1)flagleft<=flagright 或等效答案;(2分)
(2)flagright=mid-1 或等效答案;(3分)
(3)flagleft=mid+1 或等效答案。(3分)

38. 蜗牛爬行

一只蜗牛在如下图所示的数字方格上移动,已知它只能从标号小的方格移动到标号大的相邻方格。现在请你计算:蜗牛从方格M开始爬到方格N,1<=M<N<=1000,有多少种移动路线?以下用Python编程实现,请你补全代码。
image
def woniu(m , n):

    k =         ①        

    a = [0] * (k+1)
    a[1]= 1

    a[2]=         ②        

    for i in range(3,        ③        ):

        a[i]=        ④        

    return a[k]
m = int(input())
n = int(input())
print(woniu(m,n))
 
评分标准:
(1)n – m 或等效答案;(3分)
(2)2 或等效答案;(2分)
(3)k+1 或等效答案;(2分)
(4)a[i-1]+a[i-2] 或等效答案。(3分)

答案解析:https://blog.csdn.net/qq_33897084/article/details/147341407

http://www.xdnf.cn/news/8983.html

相关文章:

  • python flask 项目部署
  • 源码分析之Leaflet中Point
  • CSS 美化页面(五)
  • TikTok流量变现全攻略:免费与付费玩法解析
  • 【项目管理】第19章 配置与变更管理-- 知识点整理
  • 嵌入式ARM RISCV toolchain工具 梳理arm-none-eabi-gcc
  • 第八篇:系统分析师第三遍——3、4章
  • index: 自动化浏览器智能体
  • 【 图像梯度处理,图像边缘检测】图像处理(OpenCv)-part6
  • HarmonyOS 基础语法概述 UI范式
  • 双击热备方案及不同方案的需求、方案对比
  • hive的基础配置优化与数仓流程
  • GitHub Copilot在产品/安全团队中的应用实践:处理Markdown、自动化报告与电子表格、使用CLI命令等
  • leetcode0145. 二叉树的后序遍历-easy
  • AutoSAR从概念到实践系列之MCAL篇(一)——MCAL架构及其模块详解
  • 手撕数据结构算法OJ——栈和队列
  • eNSP无法启动AR报错码40,而且按照eNSP帮助手册排查都没用,我的处理方法【自己存档版】
  • 2N60-ASEMI功业控制与自动化专用2N60
  • python中,处理多分类时,模型之间的参数设置
  • sort和swap函数
  • 数据结构之稀疏矩阵与三元组表示法
  • 23种设计模式全面解析
  • 告别Feign:基于Spring 6.1 RestClient构建高可靠声明式HTTP客户端
  • 今日多肽之——订书肽
  • Linux文件类型
  • 建筑科技的未来图景:探究中建海龙的创新基因
  • C语言超详细结构体知识
  • 工程化实践:Flutter项目结构与规范
  • 广东中级消防设施操作员理论考试精选题
  • SpringAI+DeepSeek大模型应用开发——5 ChatPDF