试卷 2023年5月青少年软件编程Python等级考试(四级)试卷
2023年5月青少年软件编程Python等级考试(四级)试卷
选择题
第 1 题    单选题

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

def s(n):
    if n==0:
        return 1
    else:
        return n +s(n-1)
print(s(7))
A.

29

B.

27

C.

1

D.

0

第 2 题    单选题

在32枚崭新的金币中,有一枚外表与真金币完全相同的假币(质量小一点),现在只有一台天平,则应用二分法的思想最多称几次就可以发现这枚假币?

A.

4

B.

5

C.

6

D.

7

第 3 题    单选题

二分查找又称折半查找,下列数列中适合二分查找算法的是?

A.

11 99 4 25 3 39

B.

43 71 78 81 6 55

C.

67 62 68 4 1 17

D.

85 78 59 53 19 18

第 4 题    单选题

有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。问第n年的时候,共有多少头母牛?

由递推法可推测,当年数小于等于4的时候,第几年就是有几头牛,即a[1]=1a[2]=2a[3]=3a[4]=4。当n大于4的时候,这时候第一年出生的那个小母牛就也可以生出小母牛了,也就是该考虑小母牛是否可以生了,所以n>4的时候,a[n]=

A.

a[n-1]+a[n-3]

B.

a[n-1]+a[n-4]

C.

a[1]+a[3]

D.

a[-1]+a[-3]

第 5 题    单选题

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

def f(n):
    if n<=2:
        return 1
    else:
        return f(n-1)+f(n-2)
n=int(input("请输入一个正整数:"))
print(f(n))
A.

5

B.

8

C.

11

D.

13

第 6 题    单选题

小方的妈妈分苹果方法如下,第一天分掉其中一半加一个苹果,第二天分掉剩下的一半加一个苹果,以后每天都分掉剩下的一半加一个苹果。到第8天的时候妈妈发现只剩一个苹果了。请问小方妈妈一开始有多少个苹果? 这个问题我们可以用以下什么算法解决?

A.

查找

B.

递推

C.

枚举

D.

排序

第 7 题    单选题

下列有关递归的描述中,正确的是?

A.

递归函数中肯定有循环结构

B.

递归没有体现“大事化小”的思想

C.

递归有明确的结束递归的边界条件

D.

递归执行效率较高

第 8 题    单选题

小明帮老师统计年龄是10岁的学生数,老师手头有全年级每位学生的身份证号码等信息。他编写程序如下。

#列表stud存储每位学生的身份证号码,如
stud = ['110726201205261117','120718201209011101']
def cj(xs):
    c = 0
    for s in xs:
        age = int(   ①   )
        if 2023 - age == 10:
            c += 1
    return c
print(cj(stud) )

下列代码中,为实现统计功能划线处的代码不能选的是?

A.

s[6:10]

B.

s[6:-8]

C.

s[-12:-8]

D.

s[-12:11]

第 9 题    单选题

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

s = 1
def sums(n):
    global s
    s = 0
    s = s + n
    print(s)
sums(5)
print(s)
A.

5 5

B.

5 1

C.

1 1

D.

1 5

第 10 题    单选题

小方编写计算长方形面积的匿名函数,下列哪一个语句是正确的?

A.

rst = lambda a,b : a * b

B.

lambda a,b:a*b

C.

lambda a,b,a*b

D.

rst = lambda a,b,a*b

第 11 题    单选题

关于函数的描述,不正确的是?

A.

函数中通过return语句返回结果

B.

函数可以提高代码的重复利用率

C.

在函数内部不能使用全局变量

D.

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

第 12 题    单选题

关于return语句,下列说法正确的是?

A.

return语句中返回值的数据类型可以是列表

B.

return语句中不能有表达式

C.

一个函数至少有一个return语句

D.

return只能返回一个值

第 13 题    单选题

下列函数中,不可以直接调用的是?

A.

print( )

B.

sqrt( )

C.

str( )

D.

dict( )

第 14 题    单选题

对于程序中的列表来说,哪个选项中的参数填写在range()中的横线上,算法执行效率最高?( )

a=[1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1]
for i in range _____:
    if a[i]==1:
        print(i)
A.

(0,16,1)

B.

(0,16,2)

C.

(0,16,3)

D.

(0,16,4)

第 15 题    单选题

已知在某程序中,有一个全局变量名为a。在程序中的某个函数中,再次定义了一个变量a,且该变量非组合类型变量。

下面哪个说法是对的?

A.

如果在该函数中将a声明为global,则对a的操作与全局变量a无关。

B.

如果在该函数中未将a声明为global,则对a的操作与全局变量a无关。

C.

如果在该函数中未将a声明为global,则对a的操作即为对全局变量a的操作。

D.

不管在该函数中是否将a声明为global,对a的操作都是对全局变量a的操作。

第 16 题    单选题

下列属于Python中文分词方向第三方库的是?

A.

pandas

B.

beautifulsoup4

C.

python-docx

D.

jieba

第 17 题    单选题

下列代码输出的结果是?( )
def py(b):
    b+=3
    return(b)
print(py(3))

A.

3

B.

6

C.

0

D.

9

第 18 题    单选题

下列代码输出的结果是?( )

def py(a,b=2):
  a=a%b
  return(a)
print(py(7))
A.

1,2

B.

1

C.

3,2

D.

3

第 19 题    单选题

下列代码输出的结果是?( )

def sum(a):
    a+=1
a=6
sum(a)
print(a)
A.

8

B.

7

C.

6

D.

2

第 20 题    单选题

调用下列哪个函数可查看说明文档?

A.

help()

B.

range()

C.

len()

D.

print()

第 21 题    单选题

通常,定义一个函数,最多包含多少个参数?

A.

3

B.

4

C.

5

D.

任意多

第 22 题    单选题

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

a = [0] * 10
def tj(n):
    while n>0:
        a[n%10] += 1
        n //= 10        
    return sum(a)
print(tj(20230113))
A.

8

B.

12

C.

4

D.

6

第 23 题    单选题

小李查看电脑上安装的Python库,下列命令可行的是?

A.

pip install

B.

pip list

C.

pip show

D.

pip help

第 24 题    单选题

某同学用对分查找和顺序查找在数字序列“1,3,5,8,15,21,35,65”中查找数字15,两种方法都能访问到的下列数字是?

A.

3

B.

5

C.

8

D.

34

第 25 题    单选题

自然界的规律:花瓣的个数

大多数花瓣的个数有1123581321......,仔细观察这些数的顺序,会发现这些数的排列是有规律的,即斐波那契数列。小李同学编写程序求该数列的第n项的值。

方框中的代码由以下三部分组成:① a=b  ② b=c  ③ c=a+b,下列选项中代码顺序正确的是?

A.

①②③

B.

①③②

C.

③②①

D.

③①②

判断题
第 26 题    判断题

每次进入更深一层递归时,问题规模相比上次递归都应有所增大。

A.
正确
B.
错误
第 27 题    判断题

调用库时为方便后续代码编写,可给其取一个别名,比如将matplotlib命名为plt。

A.
正确
B.
错误
第 28 题    判断题

分治算法一定会用到递归。

A.
正确
B.
错误
第 29 题    判断题

自定义函数可以没有参数。

A.
正确
B.
错误
第 30 题    判断题

空间复杂度是指算法被编写成程序后,在计算机中运行时所需存储空间大小的度量,记作S(n),其中n为问题的规模或大小。

A.
正确
B.
错误
第 31 题    判断题

运行如下程序,输出的结果是4。( )

def fun(n):
    if n == 1:
        return 1
    else:
        fun(n-1) * 2
print(fun(3)

A.
正确
B.
错误
第 32 题    判断题

明编写如下函数, 

def jiafa(x,y=0): 

    return x+y 

他用语句 jiafa(10) 调用函数,程序将提示运行错误。

A.
正确
B.
错误
第 33 题    判断题

不了解函数内部实现细节就没有办法使用该函数。

A.
正确
B.
错误
第 34 题    判断题

一个函数可以没有参数,也可以有多个参数,但是参数的个数必须是确定的。

A.
正确
B.
错误
第 35 题    判断题

位置参数和关键字参数是函数调用时的概念,当二者共存时,关键字参数必须写在未知参数之前,否则会造成语法错误。

A.
正确
B.
错误
编程题
第 36 题    问答题

Python等级考试四级编程题:计算第n项的结果。

已知某c的第n项计算步骤如下:

小明编写程序计算第n项的结果。首先从键盘输入n,然后利用上述递推关系计算结果,请完善划线处的代码。

def fc(n):
    if n ==1:
                 ①        
    else:
        a=6*n-1
        b=8*n+3
        return          ②        
m=int(input("请输入一个整数:"))
if not isinstance(m,int):     #判断输入的m是否为整数
    print('请输入一个整数')
else:
    print(        ③        )
第 37 题    问答题

Python等级考试四级编程题:计算蜗牛爬出井需要几天。

有一只蜗牛在井底,井深n米。蜗牛每天往上爬a米,又会往回滑b米。

请从键盘接收输入整数nab,用空格隔开。

并完成下列程序,计算蜗牛爬出这口井需要几天。

n,a,b=input("请输入井深,蜗牛每天往上爬几米,蜗牛滑下几米:").        ①        
n,a,b=        ②        
pos=0
i=0
while        ③        :
              ④        
              ⑤        
print("第%d天,蜗牛距离井口%d米;"%(i,n-pos))
print("第%d天,蜗牛成功离开了深井!!"%(        ⑥        ))
第 38 题    问答题

Python等级考试四级编程题:九九乘法表。

请补全下列代码,编程实现用递归的方法输出九九乘法表。

def get_result(num):
    if num == 1: 
        print("        ①        ") 
     else: 
        get_result(        ②        ) 
        for i in range(1,        ③        ): 
            print("%d * %d = %d" % (i, num, i * num), end="  ") 
        print()
get_result(        ④        )
答题卡
选择题
判断题
编程题
36 37 38
题目总数:38
总分数:100
时间:90分钟