递归

递归:
一个函数内部自己调用自己:函数内部可以调用其他函数,当然在函数内部也可以调用自己

代码特点:

  1. 函数内部的代码是相同的,只是针对参数不同,处理的结果不同
  2. 当参数满足一个条件时,函数不再执行,这个递归的出口很重要,否则会出现死循环

关键在于:
1.出口
2.函数,自己调用自己

def sum_number(num):
    
    print(num)
    # 缺少出口, 递归出口:当参数满足某个条件时,不再执行函数
    if num == 1:
        return

    # 自己调用自己,传递另外个参数
    sum_number(num-1)

sum_number(5)
--->out: 
5 
4 
3
2 
1 
def sum_numers(num):
    # 1. 出口
    if num == 1:
        return 1
    
    # 2. 假设sum_numers能够正确的处理1....num-1的累加.
    # 假设之前条件满足,先考虑假设它能够正常处理
    temp = sum_numers(num-1)
     # 3. 数字的累加 num +(1...num-1)
    return num + temp

result = sum_numers(3)
print(result)
--->out=6
def fact(n):
    # 1.先判断出口
    if n ==1:
        return 1
    # 2.假设能够正确处理1...num的累成
    temp = fact(n-1)
    # 3.处理连乘
    return n*temp
print(fact(5))
--->out: 120
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值