Bootstrap

python递归函数1到n求和_python递归法求解累加和

递归是非常经典的计算机算法,利用递归可以解决很多常规方法难以解决的问题。但是由于递归运算涉及过多的出栈入栈操作,刚接触的朋友很容易被弄晕。那么为了加深对这个算法的理解,不妨将一些常规问题采用递归来求解,比如所求和运算。这里就以python为例进行简单的说明。

4080a927ac530688782db07e57e8904800fc9655.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

工具/原料

python3.5

方法/步骤

1

第一步:打开pyton3.5 IDLE。

dda98e4800fc77f7770f4a94c8715fdb36209055.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

第二步:编写递归求累加和函数CumulativeSum,该函数形式非常简单,当n为0时返回0,否则返回n + CumulativeSum(n - 1),注意目前的这个函数仅针对整数进行累加和计算。

5e615d715fdb36204d3bd83dabc5260f88358d55.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

第三步:验证函数功能,调用CumulativeSum(100)结果为5050,运算正确。

274e9635dd8a59debe069db5b370d5413a8c8455.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

4

第四步:编写函数测试代码,这个代码采用一个“死循环”,不停地接收用户输入,当输入为数字时调用CumulativeSum,否则退出循环,结束程序。

a749bb0f94fc508c9fccd24c01775ddd884cfd55.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

5

第五步:运行测试代码,可以看到,经过多次测试这个递归方法实现的整数累加和是可行的。

2e66f9ef28066b019cdf26f43df39187031cf355.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

注意事项

1、采用递归算法必须具备结束条件和递归关系,缺少任意一个都是不行的。

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

展开阅读全部

;