2024月03月Python四级理论答案及解析.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一、单选题

1、运行如下Python代码,若输入整数3,则最终输出的结果为?()

deff(x):

ifx==1:

s=1

else:

s=f(x-1)*x

returns

n=int(input(请输入一个大于1的整数:))

print(f(n)+f(n-1))

A、2

B、4

C、8

D、16

解析:

根据题目给出的Python代码,该代码定义了一个递归函数f(x),当x等于1时,s赋值

为1,否则s为f(x-

1)*x。然后,代码接收用户输入的一个大于1的整数n,并打印f(n)和f(n-1)的和。

如果我们输入整数3,那么:

1.f(3)的计算过程为:f(3)=f(2)*3=f(1)*2*

3(因为f(2)会调用f(1)的结果)。

2.f(2)的计算过程为:f(2)=f(1)*2。

3.f(1)的计算结果为1(因为直接返回s的值)。

所以,f(3)=1*2*3=6。同时,f(2)=f(1)*2=1*2=2。因此,f(3)+f(2)=6+

2=8。最终输出的结果为8,对应选项C。

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

deffun(x):

ifx3:

returnx*fun(x-1)

else:

returnx

print(fun(6))

A、120

B、360

C、720

D、60

解析:

此程序是一个递归函数。对于给定的输入6,程序首先检查x是否大于3,如果是,

则执行递归调用fun(x-

1),并乘以当前的x值。这个过程重复直到x不再大于3,此时函数返回当前x的值。

因此,对于输入6,递归过程如下:

fun(6)=6*fun(5)

=6*(5*fun(4))

=6*(5*(4*fun(3)))

=6*(5*(4*(3)))//因为当x=3时,直接返回x的值,不再递归

=6*5*4*3=360

所以输出结果为360,选项B是正确的。

3、下列关于递归的描述不正确的是?()

A、

递归函数一定包含if语句

B、

递归函数体内一定包含调用自身的语句

C、

在调用自身函数时需要明确的边界终止条件与边界值

D、

递归算法一般代码简洁,执行效率高,空间复杂度低

解析:

对于选项D,递归算法虽然可以使代码更简洁,但执行效率不一定高,并且空间复

杂度也不一定低。递归算法在执行时需要进行栈操作来保存中间结果,如果递归层

次过深,可能会导致栈溢出。因此,选项D描述不正确。

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

deffun(a,n):

s=0

foriinrange(1,n+1):

temp=str(a)*i

s+=int(temp)

returns

print(fun(1,3))

A、3

B、6

C、12

D、123

解析:

在这Python程序中,定义了一个函数fun(a,

n),该函数的功能是将数字a重复n次并求其和。具体过程如下:

1.初始化变量s为0,用于存储求和的结果。

2.使用for循环,从1到n(包括n)进行迭代。

3.在每次迭代中,将数字a转换为字符串并重复i次,得到字符串temp。

4.将字符串temp转换回整数并加到s上。

5.返回求和结果s。

运行程序时,传入的参数是a=1和n=3。程序会计算1x1+1x2+1x3的结果,即计算得

到的结果是:1+11+111=123。所以输出的结果是D选项,即123。

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

deffun(a,b):

s=0

a=a[::-1]

foriinrange(len(a)):

s+=int(a[i])*b**i

returns

print(fun(45,16))

A、69

文档评论(0)

喵呜刷题 + 关注
实名认证
文档贡献者

来喵呜刷题,完成你的职业蜕变!

1亿VIP精品文档

相关文档