递归函数在Python中特别的常用,它有很多的应用场景,极大的提高了我们的工作效率,下边我们就通过下边的案例复习一下我们的递归函数吧!
往下看,就是这么简单!
案例
利用递归函数调用方式,将所输入的一个字符串,以相反顺序打印出来。
先上代码~
![775919c7873099c84a16e2eff8baac65.png](https://i-blog.csdnimg.cn/blog_migrate/0a34cbc5d135c8d4193eb1090d000a6c.jpeg)
运行效果
![59a0d9ab36fcafaf4d48fa1f42beb511.png](https://i-blog.csdnimg.cn/blog_migrate/b17d9e9bdc29de8e34761de3ade0e98d.jpeg)
题目详述
程序分析:要实现一个字符串的逆序打印,而且要用到递归函数,我们需要传递最后一位的下标来取值
第一行:
s = input('输入一个字符串:')
创建一个input函数,用来存放输入的字符串,作为原始变量s使用
第二行:
l = len(s)
len() 方法返回列表元素个数,如果是字符串的话,返回的是字符串中字符的长度
第三行:
def output(s, l):
定义一个函数output,当然这个函数名你也可以随意取,这里我们传递两个变量,一个是字符串s,一个是长度l,这里我们用作下标l
第四行:
if l == 0:
return
这个是设置结束条件,否则用递归的话,就会无限制的执行下去,可以看到当l的值,等于0的时候,递归结束
第五行:
print(s[l - 1])
这个比较好理解就是取s里边下标是l-1的那一位,其实也就是最后一位字符,并且将它打印
第六行:
output(s, l - 1)
这个是递归函数的精髓,函数内部调用函数自身,并且传递两个变量,一个是s,另一个是l-1,相当于每执行一次,下标的值都减去1,取值的时候就前移一位,一直到下标为0的时候,整个函数结束
第七行:
output(s, l)
因为Python里边函数自身是不会执行的,所以在运行的时候,我们需要先执行一下函数
进阶:
- 轻松的就实现递归的运用
- 是不是很便捷呢
结束语
总体来说思路只要有了,以后遇到类似的问题就可以解决了,是不是发现原来Python可以这么神奇!
———— e n d ————
![79ca6e6721ca214fd8a18dc7a13524fe.png](https://i-blog.csdnimg.cn/blog_migrate/5718cfe82165c520eb7cf684197f8ccb.jpeg)
觉得文章不错的,欢迎点在看和转发