Python递归2021-08-27

本文探讨了递归调用的概念,通过一个实例展示了如何使用递归函数来计算1到n的整数之和,与传统的for循环方法进行对比。递归函数通过不断调用自身并逐步缩小问题规模,最终达到解决目标。在这个例子中,递归函数`sum2(n)`通过将n与前一次调用的和相加,逐步求得总和。递归和循环虽然都可以解决相同的问题,但在理解和实现上各有特点。
摘要由CSDN通过智能技术生成

递归调用:一个函数如果调用自身,称为递归调用
递归函数:一个会调用自身的函数称为递归函数
凡是循环能干的事,递归都能干

方式:
1、写出临界条件
2、找这一次和上一次的关系
3、假设当前函数已经能用,调用自身计算上一次的结果,在求出本次的结果

#输入一个数,求1 + 2 + 3 +.....n的和
def sum1(n):
    sum = 0
    for x in range(1, n+1):
        sum += x
    return sum
res = sum1(5)
print("res =", res)

用递归

#分析:
	#1+2+3+4+5
	"""
	sum2(1) + 0 = sum2(1)
	sum2(1) + 2 = sum2(2)
	sum2(2) + 3 = sum2(3)
	sum2(3) + 4 = sum2(4)
	sum2(4) + 5 = sum2(5)


	5 + sum2(4)
	5 + 4 + sum2(3)
	5 + 4 + 3 + sum2(2)
	5 + 4 + 3 + 2 + sum2(1)
	5 + 4 + 3 + 2 + 1
	"""
def sum2(n):
    if n == 1:
        return 1
    else:
      return n + sum2(n - 1)
res = sum2(5)
print("res = ", res)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值