202412 青少年软件编程等级考试Python四级真题 建议答题时长:60min
1. 单选题

以下有关位置实参和关键字实参的表述中,错误的选项是?( )

A

位置实参和关键字实参可以混用

B

形参不占用内存地址

C

调用函数时,如给函数提供了实参,则优先使用实参,同时更改形参的默认值,便于下次调用

D

形参设定默认值,是为了简化函数的调用

2. 单选题

Python中,无需导入math库,可以直接使用的函数是?( )

A

ceil()

B

floor()

C

round()

D

sqrt()

3. 单选题

如下代码,运行之后,最终打印结果是?( )

def P(a,b=3):

    a=2

    return a*b

print(P(3,4))

A

6

B

8

C

4

D

12

4. 单选题

调用以下自定义函数时,将实参与形参进行关联,方式错误的是?( )

def f(a,b,c):
   print(a,b,c)

A

f(1,2,3)

B

f(b=2,a=1,c=3)

C

f(1,b=2,3)

D

f(1,2,c=3)

5. 单选题

以下选项中,关于python函数参数的说法正确的是?( )

A

定义函数时不能省略参数

B

在调用函数之前,需对函数进行定义

C

可以给函数形参设置默认值,当函数调用时给定实参新的数值时,函数将使用默认值

D

函数中允许位置实参和关键字实参混用,没有先后顺序

6. 单选题

关于计算圆锥体积的匿名函数的定义和使用,以下哪一个语法格式是正确的?( )

A

lambda r,h:3.14*r*r*h/3

print(lambda(5,10))

B

lambda r,h=9,3.14*r*r*h/3

print(lambda(5))

C

V=lambda r,h=9:3.14*r*r*h/3

print(V(5,10))

D

V=lambda r,h=9,3.14*r*r*h/3

print(V(5))

7. 单选题

以下关于列表p内元素排序程序的时间复杂度为?( )

for a in range(n-1):
  for b in range(n-1-i):
     if(p[b]<p[b+1]):
          tmp=p[b]
          p[b]=p[b+1]
          p[b+1]=tmp

A

O(n)

B

O(nlogn)

C

O(n^2)

D

O(n^3)

8. 单选题

下列哪个命令能显示电脑上已安装的Python库?( )

A

pip list

B

pip dir

C

pip print

D

pip config

9. 单选题

Python中导入math模块中的sqrt(x)函数,下列程序段错误的是?( )

A

import math

math.sqrt(x)

B

from math import sqrt as sq

sq(x)

C

import math as m

m.sqrt(x)

D

import math

sqrt(x)

10. 单选题

有如下Python程序,执行该程序后输出的结果是?( )
def jc(a):
   if a ==1 :
       return 1
   else:
       return a * jc(a-1)
print(jc(jc(3)))

A

3

B

6

C

120

D

720

11. 单选题

下列程序用递推的方法求数列的值,执行该程序后输出结果是?( )
def fib(n):
   a=b=1
   for i in range(3,n+1):
       c=a+b
       a=b
       b=c
       print(c)
fib(7)

A

21

B

13

C

8

D

5

12. 单选题

阅读下列程序,运行结果正确的是?( )

def f(x):
   if x==1:
       return 0
   else:
       return (x*x-1)+f(x-1)
print(f(3))

A

10

B

11

C

12

D

13

13. 单选题

下列关于递推算法思想的描述正确的是?( )

A

将一个大问题分解为若干子问题,且子问题与大问题是相同的问题,构成递推算法思想

B

递推算法思想需要有明确的终止条件

C

递推算法思想需要有明确的递推公式

D

任何问题都可以用递推算法解决

14. 单选题

某农户养了若干只鸡。第一天卖掉其中一半加一只,以后每天都卖掉剩下的一半加一只。到第8天的时候发现只剩一只鸡了。请问该农户一开始有多少只鸡? 这个问题用下列什么算法解决?( )

A

递推

B

解析

C

枚举

D

分治

15. 单选题

以下关于global关键字表述正确的是?( )

A

global关键字只能在程序最开始初定义

B

global关键字只能在变量使用前定义

C

global关键字通过局部变量修改全局变量的值

D

global关键字通过全局变量修改局部变量的值

16. 单选题

运行下列代码,输出结果为?( )
def fun(x, y, z):
   print(z, x)
fun(1, 2, 3)

A

1 2

B

2 3

C

3 1

D

1 3

17. 单选题

以下是比较两个数的大小的函数,输出结果为?( )
def fun(a, b, c):
   if a > b:
       c = a
   else:
       c = b
print(fun(1, 2, 3))

A

1

B

2

C

3

D

None

18. 单选题

小明的妈妈在超市里买了一些商品,商品的价格放在列表里,现在超市对商品进行打折处理,请运行如下代码输出结果?( )
def fun(lst):
   total = 0
   for x in lst:
       if x >= 100:
           total += x * 0.5
       else:
           total += x
   return total
goods = [140, 90, 120, 60]
print(fun(goods))

A

390.0

B

280.0

C

260.0

D

150.0

19. 单选题

运行以下代码,请输出结果?( )
def fun(n):
   s = 0
   for i in range(n):
       s += i
   return s
print(fun(10)

A

55

B

45

C

50

D

60

20. 单选题

运行以下代码,请输出结果?( )
def fun(x):
   return x * x
print(fun(fun(fun(2))))

A

16

B

32

C

128

D

256

21. 单选题

运行以下代码,请输出结果?( )
x = 0
def fun():
   global x
   x += 10
print(x)
fun()
print(x)

A

0

0

B

0

10

C

10

10

D

10

0

22. 单选题

小明喜欢画画,他有一张大画布,画布上有一个大正方形。他想知道如果把这个大正方形分成4个小正方形,然后再把这4个小正方形各自再分成4个更小的正方形,这样一直分下去,最后会得到多少个正方形?根据解题思路请在下面横线上填上正确代码?( )
def fun(n):
   if n == 0:
       return 1
   else:
       return _________
print(fun(4))

A

fun(n-4) * 4

B

fun(n-1) * 4

C

fun(n-1) * 2

D

fun(n-2) * 2

23. 单选题

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

A

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

B

递归算法一般代码简洁,执行效率高,空间复杂度低

C

递归函数必须明确嵌套调用的次数

D

递归函数必须有明确的边界终止条件

24. 单选题

现有24颗药丸,重量都是0.1g,其中一颗药丸不小心被污染了,外观没有变化,但是重量变重了。如果有一架天平,最多只能称重四次,要把这个被污染的药丸找出来。这个问题可以用下列哪种算法思想解决?( )

A

枚举

B

分治

C

递归

D

递推

25. 单选题

物理实验课的电路故障分析,有一块电路板的AB两点间串联线路不通,是由于其中一处焊口脱落造成的。假设AB线路间有100个焊接点,现用二分法检测,找出焊口脱落点,至多需要检测多少次?( )

A

7

B

8

C

9

D

10

26. 判断题

在混合使用位置实参、关键字实参时,对应函数中有默认值的形参与没有默认值的形参位置没有要求,都可以通过关键字实参传值。( )

A

B

27. 判断题

 

时间复杂度是用来衡量算法效率的重要指标,可以反应数据规模和代码执行时间之间关系。( )

A

B

28. 判断题

定义函数或过程时,如果函数在内部调用函数本身,这个函数就是递归函数。( )

A

B

29. 判断题

求斐波那契数列第n项可以用递归思想解决,也可以用递推思想解决。( )

A

B

30. 判断题

安装Python第三方库只能使用pip命令。( )

A

B

31. 判断题

运行如下代码:
fun = lambda x, y = 10 : y - x
print(fun(5, 8))
运行结果为:5。( )

A

B

32. 判断题

Python3.5之后的版本新增了对函数参数和返回值的类型指定和检查,新建变量时也可以指定类型。以下代码,只能接受str类型的参数,否则就会报错。( )

def say(name:str, greet:str)->str:
   return name + greet
print(say("小明", "你好!"))

A

B

33. 判断题

运行如下代码,输出结果为5。( )
x = 1
y = 5
def fun():
   global x
   x = 4
   y = 3
   if y > x:
       return y
   else:
       return x
print(fun())

A

B

34. 判断题

将一个难以直接解决的大问题,分类整理成几种规模较小的不同类问题,再分别击破的方法,就是分治算法。( )

A

B

35. 判断题

函数中return语句可以有任意个,但是在函数运行过程中只会执行其中一个。( )

A

B

36. 编程题

时钟问题

小明上学时间是8:00,放学时间不固定,他很想知道从上学到放学,时钟的时针、分针和秒针一共有多少次指向了3点钟的位置。他尝试编写了如下程序,请你完善划线处的代码,计算出在h点s分放学时,三个时针分别经过3点位置的次数,用一个元组表示各指针经过3点位置的次数 (时针次数,分针次数,秒针次数) ,并输出。

 

def fn(h1, m1 ,h2 ,m2 ):  

   if(h2<15):

               ①        

   else:

       hc=1

   th=         ②        

   if(         ③        ):

       mc= th+1

   else:

       mc=th

   sc=        ④        

   return (hc,mc,sc)

h=int(input("h="))

s=int(input("s="))

print(fn(8,0,h,s))

查看答案
37. 编程题

对称字符串

对称字符串是指从左往右读和从右往左读是一样的字符串。小方同学学习了递归思想后,利用递归思想来解决对称问题。在一串包含大小写字符和数字等字符组成的字符串中,他首先筛选出只包含大小写字符组成的字符串,然后判断该字符串是否是对称字符串。他编写的代码如下,请完善划线处的代码。

def getzf(yw):   #筛选出原始字符串yw中大写小写字符组成的字符串

    rst = ''

    for i in yw:

        if 'z'>=i >='a' or 'Z'>=i >='A':

               

    return rst

def nxzf(data):  #生成字符串data的逆序字符串

    if len(data) == 1:

        return data[0]

    return                 

 

yw =input('请输入字符串')

yw = getzf(yw)

nxzfc = nxzf(yw)

if                 :

    print('原字符串中存在对称字符串',yw)

else:

    print('不存在对称字符串')

查看答案
38. 编程题

角谷猜想

所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。程序要求输入一个整数,求经过多少次可得到自然数1。 根据题意,请完善划线处的代码。

 

def fun(n, cnt):

   if         ①        :

       print(cnt)

       return

   else:

       if n % 2 == 0:

           n //=2

                   ②        

       else:

                   ③        

           fun(n, cnt+1)

fun(5,         ④        )

查看答案
试题目录
单选题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
判断题
26 27 28 29 30 31 32 33 34 35
编程题
36 37 38
赣ICP备20007335号-2