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

计算问题

从1到n的数字(包含n),分别计算出能被k整除的数字之和与不能被k整除的数字之和,并输出它们差的绝对值,完成下列程序。

n=int(input("n="))
k=int(input("k="))
s1,s2=0,0
for i in range(1,        ①        ):
   if(        ②        ==0):
       s1=        ③        
   else:
       s2=        ④        
print(        ⑤        )

查看答案
2. 编程题

劳动实践基地

育才学校的劳动实践基地是一个巨大的矩形,参与劳动实践的同学们每次只能种一个正方形地块,每种一个正方形时所花的体力值是正方形的周长,本学期种过的地不可以再种,同学们想使用最少的体力值去种完这块田地,请帮助计算花费最小的体力值。

输入格式

两个正整数 x,y,表示田地的长和宽。

输出格式

输出最小体力值。

输入样例1

1 10

输出样例1

40

输入样例2

2 2

输出样例2

8

 

def solve(x, y):

   if x == y:

       return        ①        

   if x > y:

       a, b = x, y

   else:

       a, b =        ②        

   if        ③        :

       return 4 * a

   else:

       return 4 * a + solve(        ④        , b)

n, m = map(int, input().split())

print(solve(n, m))

查看答案
3. 编程题

约瑟夫环

2024年春节联欢晚会上,刘谦表演了一个纸牌魔术,深受观众欢迎。这个魔术的内容其实是一个经典的约瑟夫环问题,相当于n张牌形成一个环,依次循环报数,每次报到m的那一张牌扔掉,直到剩下最后一张牌。小智编写了以下程序来模拟8张牌的淘汰过程,请补充完成该程序。

def Josephus(num,gap):

    location_list = [a for a in range(1,num+1)]

    if num ==   1 :

               ①        

    else:

        index = 0

        for i in        ②        :

           index = (index + gap - 1 )%        ③        

           print("本次淘汰的牌为:",location_list[index])

           del location_list[index]

        print( "最后剩下的牌为:",location_list[        ④        ])

Josephus(8,2)

查看答案
4. 单选题

下面图形每一行从字母A开始,以ABC方式重复。行数为输入的整数。请在python代码段横线处填入合适的代码?( )

A

AB

ABC

ABCA

ABCAB

ABCABC

ABCABCA

n = int(input())
for i in range(1, n+1):
   for j in range(0, i):
       print("%s" % _____________, end='')
   print()

A

'A' + j / 3

B

chr(ord('A') + j % 3)

C

'A' + j % 3

D

chr(ord('A') + j / 3)

5. 单选题

当程序运行时,如果自定义函数内某个变量与程序的全局变量使用相同的变量名,程序会如何处理?( )

A

优先调用全局变量,屏蔽局部变量

B

优先调用局部变量,屏蔽全局变量

C

程序报错

D

将二者视为相同变量,赋值等操作会对二者同时产生影响

6. 单选题

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

def f(x):        
   color=["红","橙","黄","绿","青","蓝","紫"]
   def lucky(x,y):    
       n=x+y
       return n
   m=x*int(lucky(5,6))%7
   print("幸运颜色是:",color[m])
f(5)

A

幸运颜色是:红

B

幸运颜色是:橙

C

幸运颜色是:黄

D

幸运颜色是:紫

7. 单选题

解决下列问题体现分治算法思想的是?( )

A

打印1000以内的完美数(完美数是除了本身之外的因数之和等于本身)

B

输出100以内能被5整除的整数

C

求斐波那契数列第n项

D

用快速排序算法对n个整数升序排序

8. 单选题

以下是编写一个Python函数,使用递归方法实现字符串的反转,请在横线处填写正确的代码?( )

def fun(s):
   if len(s) <= 1:
       return s
   else:
       return _____________
x = "abcde"
print(fun(x))

A

fun(s[1:])

B

fun(s[1:]) + s[0]

C

fun(s[:1]) + s[0]

D

fun(s[:1])

9. 单选题

以下哪种情况下适合使用自定义函数?( )

A

体现自己独特思路的功能块

B

代码量大的功能块

C

会多次用到的功能块

D

逻辑复杂的功能块

10. 单选题

用Python绘制y=x**2+6*x+2的函数图像,需要用到的模块是?( )

A

plot

B

pygame

C

matplotlib

D

turtle

11. 单选题

阶乘是一个数与所有小于它的正整数的乘积。例如,5的阶乘(写作5!)是5 * 4 * 3 * 2 * 1 = 120。以下是用递归方法编写求阶乘的代码,横线处填写的代码是?( )
def fun(n):
   if n == 1:
       return 1
   else:
       return ________
print(fun(5))

A

n * (n-1)

B

fun(n-1)

C

n * fun(n-1)

D

fun(n*(n-1))

12. 单选题

陈明同学利用Python语言编写了一段“根据出生年月判断生肖属相”的程序,调试运行时,程序没有报错且顺利运行,但未能正确输出对应属相,造成这个结果的原因可能是?( )

A

程序语句语法错误

B

程序复杂度高,算法效率低

C

Python的环境配置不对

D

求解算法的逻辑错误

13. 单选题

 

运行以下代码,请输出运算结果?( )
x = 1
while x < 100:
   if  x % 3 != 0:
       print(x, end=',')
   elif x // 10:
       break
   x += 2
print(x)

A

1

B

3,9,11

C

3,6,9,10

D

1,5,7,11,13,15

14. 单选题

对于如下自定义的函数:
def myfunc(a,b,c)
   return a+b+c
以下调用该函数的语句中,能正确执行的是?( )

A

myfunc(1,2)

B

myfunc(a=3,2,1)

C

myfunc(3,b=2,1)

D

myfunc(3,2,c=1)

15. 单选题

用枚举算法求解“各位数之和等于8的所有三位数”时,下列枚举范围中效率最高的是?( )

A

0-999

B

100-999

C

100-800

D

107-800

16. 单选题

运行以下代码,请输出运算结果?( )
def fun(s, n):
   if n == 0:
       return ""
   else:
       return s + fun(s, n-1)
s = "abc"
n = 3
print(fun(s, n))

A

abc

B

abab

C

abcabcabc

D

ababab

17. 单选题

以下有关return 语句的表述中错误的是?( )

A

return语句可以出现在函数内部的任何位置

B

一个函数内可以存在多个return语句,但在函数执行过程中,只有一个会被执行

C

一个函数可以没有return语句,视为返回一个None对象

D

return`语句可以返回多个值,比如return a,b,c,将返回一个列表[a,b,c]

18. 单选题

对于以下自定义函数及程序,运行后的结果是?( )

def prts( str ):

  print (str)

  return str

s="Py"

prts(prts(s))

A

出错

B

Py

C

Py及None

D

Py及Py

19. 单选题

运行如下代码,请输出运算结果?( )
def fun(lst):
   if len(lst) == 0:
       return 0
   return lst[0] + fun(lst[1:])
x = [1,2,3,4,5]
print(fun(x))

A

9

B

6

C

10

D

15

20. 单选题

以下关于关键字nonlocal 和 global表述中错误的是?( )

A

global声明的变量将变成全局变量

B

nonlocal只能声明引用上一层函数中的局部变量,如不存在则会继续向上一层寻找

C

nonlocal 和 global相同点是在函数体内改变非局部变量的值

D

global声明变量时不能同时对该变量赋值

21. 单选题

 

下列关于函数return语句的说法,正确的是?( )

A

return语句中返回值的数据类型可以是字符串,也可以是列表

B

一个函数中只能有一个return语句

C

return语句中不能有表达式

D

return只能返回一个值

22. 单选题

有6位学生的身高分别为“166、168、169、171、172、175”,其中小王的身高为172,若采用二分查找,则需要找多少次才能够找到小王?( )

A

1

B

2

C

3

D

4

23. 单选题

调用自定义函数时,以下哪种情况下程序运行时一定会出错?( )

A

对实参以关键字赋值的方式去调用函数

B

对形参赋以默认值

C

给赋予了默认值的形参传入新值

D

传入的实参个数比形参个数少

24. 单选题

执行以下程序后所输出的结果是?( )

def f(n):
   s=0
   for i in range(2, n+1):
       p = True
       for j in range(2, int(i**0.5)+1):
           if i % j == 0:
               p = False
               break    
       if p==True and i%3==1:
           s=s+i
   return s
print(f(13))

A

20

B

41

C

21

D

91

25. 单选题

使用*args和**kwargs形参来定义函数时,正确的说法是?( )

A

使用*args代表列表,使用**kwargs代表元组

B

可以在调用函数时传入多个实参

C

不再允许设置位置参数或关键字参数

D

可以设置位置参数或关键字参数,但必须放置在*args参数前面

26. 单选题

以下程序语句中,存在语法错误的是?( )

A

result= lambda a:a+b

B

lambda a,b,c:a**0.5

C

lambda a,b=10:a*b

D

dlt=lambda a,b,c:b**0.5-4*a*c

27. 单选题

下列关于分治算法的描述中,错误的是?( )

A

问题的规模分解到一定的程度,问题容易解决

B

问题可以分解为若干个规模较小相同问题

C

问题所分解出的各个子问题是可以相互交叉

D

问题分解出的子问题的解可以合并为该问题的解

28. 单选题

以下说法错误的是?( )

A

python中可以在不同的自定义函数中声明相同名字的变量,使用时不会造成数据混乱

B

形参在其自定义函数内不能与其它变量重名

C

全局变量可以被多个自定义函数调用

D

因为全局变量作用域是整个程序,所以局部变量和全局变量不能使用相同变量名

29. 判断题

自定义函数中可以不使用return语句,但匿名函数中要通过return语句返回运算结果。( )

A

正确

B

错误

30. 判断题

某个问题既能用递归算法求解,又能用递推算法求解,则使用递归算法求解更容易,效率也高得多。( )

A

正确

B

错误

31. 判断题

编程时,必须把实现复杂功能的代码封装起来,设计成函数。( )

A

正确

B

错误

32. 判断题

 

执行如下代码,输出结果是95。( )
n = 100
while n > 0:
   if n % 2:
       break
   elif n % 3 == 0:
       n -= 5
   else:
       n -= 20
print(n)

A

正确

B

错误

33. 判断题

时间复杂度最小的是常数阶O(1)。( )

A

正确

B

错误

34. 判断题

变量作用域的使用可提高程序逻辑的局部性,增强程序的可靠性,减少名字冲突,有效提高程序运行效率。( )

A

正确

B

错误

35. 判断题

某同学参加猜幸运数(幸运数范围是1-100之间)游戏:先猜50,主持人说偏大;然后猜25,主持人说偏小;然后又猜37……通过这种策略,该同学很快猜出幸运数,这体现了分治思想。( )

A

正确

B

错误

36. 判断题

如果允许形参设置默认值,则函数定义时要先列出没有默认值的形参,再列出有默认值的形参。( )

A

正确

B

错误

37. 判断题

如果在函数内访问其作用域内不存在的变量,程序一定会报错。( )

A

正确

B

错误

38. 判断题

Numpy是Python的一个第三方库,是一个科学计算库,提供各种数学运算和科学计算的方法。( )

A

正确

B

错误

试题目录
编程题
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