image

编辑人: 长安花落尽

calendar2025-06-08

message1

visits978

2023月05月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、

当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


3、

有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。问第n年的时候,共有多少头母牛? 由递推法可推测,当年数小于等于4的时候,第几年就是有几头牛,即a[1]=1;a[2]=2;a[3]=3;a[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]


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

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


5、

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

A、4

B、5

C、6

D、7


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

下面哪个说法是对的?( )

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

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

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

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


7、对于程序中的列表来说,哪个选项中的参数填写在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)


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

A、print( )

B、sqrt( )

C、str( )

D、dict( )


9、

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

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

B、return语句中不能有表达式

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

D、return只能返回一个值


10、关于函数的描述,不正确的是?( )

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

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

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

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


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

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


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

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


13、小明帮老师统计年龄是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]


14、下列有关递归的描述中,正确的是?( )

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

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

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

D、递归执行效率较高


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

A、查找

B、递推

C、枚举

D、排序


16、

自然界的规律:花瓣的个数大多数花瓣的个数有1、1、2、3、5、8、13、21、……,仔细观察这些数的顺序,会发现这些数的排列是有规律的,即斐波那契数列。小李同学编写程序求该数列的第n项的值。undefined

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


A、①②③

B、①③②

C、③②①

D、③①②


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

A、3

B、5

C、8

D、34


18、

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

A、pip install

B、pip list

C、pip show

D、pip help


19、

运行下列程序,输出的结果是?( ) 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


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

A、3

B、4

C、5

D、任意多


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

A、help()

B、range()

C、len()

D、print()


22、

下列代码输出的结果是?( ) def sum(a): a+=1 a=6 sum(a) print(a)

A、8

B、7

C、6

D、2


23、下列代码输出的结果是?( )
def py(a,b=2):
a=a%b
return(a)
print(py(7))

A、1,2

B、1

C、3,2

D、3


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

A、3

B、6

C、0

D、9


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

A、pandas

B、beautifulsoup4

C、python-docx

D、jieba


二、判断题

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

A 正确

B 错误


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

A 正确

B 错误


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

A 正确

B 错误


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

A 正确

B 错误


30、小明编写如下函数, def jiafa(x,y=0):     return x+y 他用语句 jiafa(10) 调用函数,程序将提示运行错误。( )

A 正确

B 错误


31、运行如下程序,输出的结果是4。( )def fun(n):    if n == 1:        return 1    else:        fun(n-1) * 2print(fun(3))

A 正确

B 错误


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

A 正确

B 错误


33、自定义函数可以没有参数。( )

A 正确

B 错误


34、分治算法一定会用到递归。( )

A 正确

B 错误


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

A 正确

B 错误


三、编程题

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

undefined

小明编写程序计算第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(++++ )

参考答案:

参考程序:

def fc(n): if n ==1: return****1 else: a=6*n-1 b=8*n+3 return a***fc(n-1)/b** m=int(input(“请输入一个整数:”)) if not isinstance(m,int): #判断输入的m是否为整数 print(‘请输入一个整数’) else:

print(fc(m))

说明: 本题中已知c的第n项计算公式,第1项时c的值为1,第2项可以由第1项的基础上用公式计算,程序中编写了函数fc实现计算c的结果,在函数fc中,第1项时返回1,故①处代码是return 1 ;函数fc中②处代码是计算第n的数据,由递推公式可知该处代码是a*fc(n-1)/b ,③处代码是将输入的第m项调用函数fc计算结果,故该处的代码是fc(m)。


37、

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


undefined

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

参考答案:

参考程序:

def get_result(num):

if num == 1:

print(“1 * 1 = 1”)

else:

get_result(num - 1)

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

print(“%d * %d = %d” % (i, num, i * num), end=" ")

print()

get_result(9)


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

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

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

n,a,b=input(“请输入井深,蜗牛每天往上爬几米,蜗牛滑下几米:”).++++
n,a,b=++++
pos=0
i=0
while++++ :
 ++++
 ++++
print(“第%d天,蜗牛距离井口%d米;”%(i,n-pos))
print(“第%d天,蜗牛成功离开了深井!!”%(++++ ))

参考答案:

参考程序:

n,a,b=input(“请输入井深,蜗牛每天往上爬几米,蜗牛滑下几米:”).split() n,a,b=int(n),int(a),int(b) pos=0 i=0 while pos+a< strong=""><>****: i+=1 pos+=(a-b) print(“第%d天,蜗牛距离井口%d米;”%(i,n-pos)) print(“第%d天,蜗牛成功离开了深井!!”%(i+1))


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2023月05月Python四级理论参考答案

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share