学python(01)——一个小白关于递归的理解

本文由一名编程初学者分享他对递归的理解。通过一个简单的Python递归函数示例,详细解析了递归函数的执行流程,包括每个步骤的判断与执行顺序。作者期待通过自己的学习心得,与读者交流,共同进步。
摘要由CSDN通过智能技术生成


我从一个IT的小白,到现在已经算是入门有十天的时间了。

在学习一开始的时候,老师曾跟我们说过,递归函数是一个比较重要的知识点,也是新手很容易迷失的地方,然而我在真正的学习递归的时候,发现并没有那么的难,今天我把我所理解的递归写出来,然后希望大家可以看一下,如果有什么缺失或者错误的地方,希望大家还能够指出。(毕竟我半个月前还是一个小白)

 

def num1 (no1):

    print(no1)    #a过程

if num1 > 0:

    num1(no1 - 1)#b过程

else :

    print “到头了”#c过程

print (no1)#d过程

num1(3)




跟兄弟连Python学习交流、资源共享群:563626388 QQ


 

       运行函数,此时no1 =3 执行开始运行函数num1(3),上下结构运行函a3过程,打印出3,然后,遇见分支。

  因为3>0,所以此时应该运行num1(2),此时num1(3)函数中的d3过程尚未执行,等待num1(2)运行完再执行。运行num1(2),到了a2过程,打印出2,然后再次遇见分支

  因为2>0,所以此时应该运行num1(1),此时num1(2)函数中的d2过程尚未执行,等待num1(1)运行完再执行。运行num1(1),到了a1过程,打印出1,然后又一次遇见分支

  因为1>0,所以此时应该运行num1(0),此时num1(1)函数中的d1过程尚未执行,等待num1(0)运行完再执行。运行num1(0),到了a0过程,打印出0,然后还是遇见分支。

  此时因为 0 = 0,所以运行c过程。打印“到头了”,此时num1(0)函数分支结束,向下运行打印出0,num1(0)过程执行完毕;此时num1(1)中的d1过程等到了num1(0)函数执行完毕,向下运行,打印出1,,num1(1)函数执行完毕;此时num1(2)等到了num1(1)函数执行完毕,向下运行num1(2)函数,打印出2;此时num1(3)函数等到了num1(2)函数执行完毕,打印出3,num1(3)函数执行完。

   此时整个函数执行完毕,最终结果如下

3

2

1

0

到头了

0

1

2

3

 

 以上内容就是我对递归的理解,在以后的学习过程中,如果遇见更新或者更准确的解释,我会随时来更新的内容,希望能看到博客的前辈对我稚嫩的理解给与一丝帮助。

 

 


跟兄弟连Python学习交流、资源共享群:563626388 QQ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值