python中递归函数比较复杂吗_python – 如何手动确定复杂递归函数的输出

首先,我作弊.有了我的胸部,这里有一些指示:

该功能绝对不适用于Python 3!原因是/操作符.在Python 2中,它导致Python3中的整数产生浮点数.所以请记住这个前提条件是我的解决方案:

功能并不复杂.每个变量的每个数据类型都是整数! m将永远是一个整数. x是30.递归级别为3,等于对函数的七次调用(包括第一次).以下是你如何做这些事情:拿一些纸和一支笔,然后写下每一步.

>输入为:a = 1且b = 4,导致函数中的else部分…到目前为止没有输出. m计算为(1 4)/ 2.在我的书中是2.5.但这被四舍五入到2,因为我们有整数.然后递归以两个调用(1,2)和(3,4)开始

>让我们看看(1,2):a = 1和b = 2.再次,没有输出,我们直接到else部分:m计算为3/2,这是一个很好的1.5舍入到1.再次两次调用具有新参数(1,1)和(2,2)的函数.请注意,两个调用现在都将进入函数的elif部分,每个调用都将生成一个输出和一个返回值.您可以将(1,1)替换为1和(2,2)替换为4.递归在此处完成,并且trace(1,2)的调用导致5.让我们看一下递归的另一个分支.

>输入为a = 3且b = 4,这导致另一对具有以下参数的调用:(3,3)和(4,4).

我想现在你应该掌握它.有趣的部分是按照提供的方式添加所有返回值.

关于函数的作用:它总结了a和b之间所有整数的所有平方.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值