#方法1:for循环
n = int(input('请输入一个正整数:'))
sum = 0
for i in range(n + 1):
    sum += i
print(sum)

#方法2:递归调用
n = int(input('请输入一个正整数:'))
def Sum(n):
    if n <= 1:
        return 1
    return Sum(n - 1) + n
print(Sum(n))

#简化方法,计算1+2+……+100的和,实现方法如下:
sum = 0
for i in range(1,100+1):
	sum += i
	
print(sum)

递归:如果一个函数在内部调用自己本身,这个函数就是递归函数

1.首先需要定义整个digital程序的终点(如上面的if n <= 1),否则会不停的执行下去,最终随着栈被占满整个程序就会崩溃。
2.写出参数n 和 n -1的关系即可,如上面的加法运算Sum(n) = Sum(n - 1) + n
3.递归的最大深度与编译器(或者解释器)的最大栈的深度以及执行环境的最大内存有关,二者是或的关系。 其中编译器的最大递归深度修改方法如下:
import sys
sys.setrecursionlimit(1000)# 修改最大递归深度,这里设为1千

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐