选择题 共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


编程题 共2道

36 37

125 | 202409Python四级真题-考试
选择题 共25道
01

一款经典的猜数字游戏:甲先在50以内随意写一个数字,乙开始猜,如果乙猜的比甲写的数大了,甲就说大了,反之,则说小了。请问根据对分查找思想,乙最多用多少次能猜出甲写的正确数字?( )

2分
登录后查看选项
02

二分查找法是利用了哪种算法思想?( )

2分
登录后查看选项
03

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


def f(n):

   if(n==1):

       return 1

   return n*f(n-1)

print(f(5))

2分
登录后查看选项
04

下列定义计算圆周长的匿名函数中,正确的是?( )

2分
登录后查看选项
05

有如下Python程序段,在调用函数sjc时实参是?( )

def sjc(x):

   a,b=1,1

   print(a,b,x)

sjc(20)

2分
登录后查看选项
06

下列有关匿名函数lambda的描述,错误的是?( )

2分
登录后查看选项
07

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

def qh(a,b,c=5):

   return a+b+c

print(qh(5,10),qh(10,10,10))

2分
登录后查看选项
08

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


def area(r,pi=3.14):

   return r*r*pi

print(area(3,10))

2分
登录后查看选项
09

fun函数可以传入的参数a不确定有多少个,划线处的代码正确的是?( )

def fun(___):

pass

2分
登录后查看选项
10

请选择下面代码的输出结果是?( )


def f(n):

   n += 1

   return n

x = 10

y = f(x)

print(y)

2分
登录后查看选项
11

执行如下Python程序,语句“s=s+i”被执行的次数是?( )

def f(n):

   s = 0

   for i in range(1,n):

       if i % 3 == 0 or i % 2 == 0:

           s = s+i

f(10)

2分
登录后查看选项
12

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


def qh(n):

   s , f = 0,1

   for i in range(1,n+1):

       s += f * i

       f = -f

   return s

print(qh(4))

2分
登录后查看选项
13

有如下Python程序,运行后fac(a)函数被调用了几次?( )


def fac(a):

   if a == 1:

       return 1

   else:

       return a + fac(a-1)

print(fac(6))

2分
登录后查看选项
14

Python中对已经安装的第三方库进行更新,使之升级到最新版本的pip指令是?( )

2分
登录后查看选项
15

Python中可以通过import math 语句导入math函数库,下列选项中可以实现向下取整的是?( )

2分
登录后查看选项
16

以下代码的时间复杂度是多少?( )

i = 1

n = 100

while i < n:

   i = i * 2

2分
登录后查看选项
17

以下哪种函数一定是直接或间接调用函数本身的函数?( )

2分
登录后查看选项
18

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

2分
登录后查看选项
19

实现递推算法的核心程序结构通常是使用?( )

2分
登录后查看选项
20

关于递归与递推算法,表述不准确的观点是?( )

2分
登录后查看选项
21

实际应用中,一般不采用递归的方法来解决层次或序列规模较大的计算问题,其原因是?( )

2分
登录后查看选项
22

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


def f(n):


       n=n*2

       return n

a=[7,1]

b=f(a)

print(a,b)

2分
登录后查看选项
23

陈丽把自己每天的学习时间情况记录在文本文件“record.txt”中,现在她想用Python程序打开并读取某天的学习时间情况,请问打开文件的正确操作的是?( )

2分
登录后查看选项
24

小明设计了一个计算矩形体积的函数,以下调用函数的四个选项中,参数传递错误的是?( )

def vol(length,width,height):


   v = length * width * height


   return v

2分
登录后查看选项
25

小陈编写了一段计算超市打折活动的程序,运行时报错,原因可能是下面哪项?( )

def discount(price,rate):

   final_price = price * rate

old_price = float ( input ('请输入原价:'))

rate = float (input ('请输入折扣率:'))

discount ( old_price , rate )

print ('打折后价格是:',final_price )

2分
登录后查看选项
判断题 共10道
26

对数组进行快速排序是利用分治的思想,整个排序过程可以递归进行,算法效率高效,是一种稳定的排序算法,时间复杂度为O(nlogn)。( )

2分
登录后查看选项
27

把实现相同功能的代码作为一个代码块封装在一起,形成函数。( )

2分
登录后查看选项
28

调用函数时如果位置实参和关键字实参两种方式混用,位置实参必须要放在关键字实参之前。( )

2分
登录后查看选项
29

有如下Python程序段,运行该程序段后,将提示错误。( )


def js(x=3,y):

     print(x,y)

js(10)

2分
登录后查看选项
30

我们可以通过import模块的方法安装Python第三方库。 ( )

2分
登录后查看选项
31

如果执行算法所需的临时空间不会随变量的变化而变化,那么该算法的空间复杂度为一个常量。( )

2分
登录后查看选项
32

递归函数中,一定要包含对自身的调用,而且一定要有终止条件。

2分
登录后查看选项
33

递推算法设计时,首要任务是寻找规律,确定递推表达式,从而求解问题。( )

2分
登录后查看选项
34

在Python语法中,全局变量只能在主程序中使用,局部变量只能在局部函数中可用。( )

2分
登录后查看选项
35

Python自定义函数时,传递参数的数量必须是明确的。( )

2分
登录后查看选项
编程题 共2道
36

日期问题


小明同学学习Python的函数后,想动手利用函数来解决生活中的问题。于是他突发奇想,输入日期,统计这一天是这一年的第几天。其中,闰年指年份能被4整除但不能被100整除,或者仅能够被400整除。编写的代码如下,请完善划线处的代码。


def isRn(year):           #判断year是否闰年

   if         ①        or year % 400 == 0:

       return 1

   return 0

def jsDays(data):         #计算日期data在这一年是第几天

   s = 0  

   year = int(data[:4])

   month = int(data[4:6])

   day = int(data[6:])

   for i in range(        ②        ):

       s += days[i]

   s += day

   if month > 2 and        ③        :

       s += 1

   return s

def checkRq(data):      #判断输入的日期是否正确

   month = int(data[4:6])

   day = int(data[6:])

   if month <1 or month >12:

       return 0

   if days[month-1]<day or day <1:

       return 0

   return 1

days = [31,28,31,30,31,30,31,31,30,31,30,31]    #定义每个月的天数  

rq = input('输入年月日,格式如:20240102\n')

if checkRq(rq):

   d =         ④        

   print(rq,'是这一年的第',d,'天')

else:

   print(rq,'输入的日期有错误')

10分
登录后作答
37

数学游戏


校园里流行一种新的数学游戏:每次邀请两个同学参加,第一个同学先从1和2中挑一个数字,第二个同学可以在对方的基础上选择加1或者加2,然后又轮到第一个同学,他也可以选择加1或者加2,之后再把选择权交给对方,就这样交替地选择加1或者加2,谁先加到20,谁就赢了。小智编写了以下程序,分析总共存在多少种可能出现的情形。请补充完成该程序。


def act(n):


   if n == 1 or        ①        :


       return 1


   sn =         ②        


   return         ③        



tn = act(        ④        )

10分
登录后作答