选择题 共25道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25


判断题 共10道

26 27 28 29 30 31 32 33 34 35


编程题 共3道

36 37 38

127 | 202503Python四级真题-考试
选择题 共25道
01

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

def s(n):
   if n==3:
       return 4
   else:
       return n+s(n-1)
print(s(5))

2分
登录后查看选项
02

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

def s(n):
   s=1
   for a in range(1,5):
            ①      
   return s
print(s(4))

2分
登录后查看选项
03

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

def s(n):
   if n < 8:
       return str(n)
   else:
       return _____________
m = s(int(input("输入十进制数字:")))
print("转换后八进制数是:",m)

2分
登录后查看选项
04 关于递归算法的特点,以下选项中描述错误的是?( ) 2分
登录后查看选项
05

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


def nxs(n):

   s = 0

   while n >0:

       s = s * 10 + n % 10

       n //= 10

   return s

print(nxs(123))

2分
登录后查看选项
06

有如下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

2分
登录后查看选项
07

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

def zdz(s):
   m = s[0]
   for i in s[1:]:
       if i > m:
           m = i

   return m
print(zdz('abc789XYZ'))

2分
登录后查看选项
08

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

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

2分
登录后查看选项
09 在Python中,可以通过什么语句导入现有的标准库或者其他人提供的第三方库来编程?( ) 2分
登录后查看选项
10 Python程序中某函数使用了3个变量,其中2个变量都指定了默认值,调用该函数时,参数的个数最少为几个?( ) 2分
登录后查看选项
11 递归算法的基本思想是把规模较大的问题变成规模较小的问题,下列选项中哪一项必须要有?( ) 2分
登录后查看选项
12

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

2分
登录后查看选项
13 以下算法中,不可以按照分治的策略问题由大化小的是?( ) 2分
登录后查看选项
14

以下函数的功能是求长方形面积,函数调用的正确方式是哪一项?( )
def fun(a, b):
   return a * b

2分
登录后查看选项
15

以下函数求圆的面积,运行如下代码结果正确的是哪一项?( )
def fun(r, pi=3.14):

   return r * r * pi

print(fun(10, 3))

2分
登录后查看选项
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))

2分
登录后查看选项
17 下列关于创建词云图的是哪个模块?( ) 2分
登录后查看选项
18 下列正确导入海龟库的方式是?( ) 2分
登录后查看选项
19 以下哪一项不属于分治算法的特征?( ) 2分
登录后查看选项
20 小明班上有50人,数学成绩已经由高到低排列,使用二分查找查找出小明的成绩,至多进行几次查找?( ) 2分
登录后查看选项
21 对于Python语句f=lambda x,y:x**y+x//y,print(f(7,2))的输出结果是?( ) 2分
登录后查看选项
22

运行下列程序,输出的结果是?( )
def  fn(x, y):
       if x >=y:
               return x-y
       else:
               return y
print(fn(4, 7),fn(8, 5))

2分
登录后查看选项
23 下列有关函数的说法,不正确的是?( ) 2分
登录后查看选项
24

运行下列程序,输出的结果是?( )
def f(x=2,y=0):
       return x-y
y=f(y=f(),x=5)
print(y)

2分
登录后查看选项
25

当n为10时,运行下列Python程序后的结果是?( )
def  fn(num):
   if num % 2 == 0:
       return False
   else:
       return True
n=int(input("请输入一个正整数:"))
print(fn(n))

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

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

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

10分
登录后作答
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)

10分
登录后作答
38

蜗牛爬行

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

20240301141912_1193.png

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))

10分
登录后作答