递归的基本使用| 学习笔记

简介: 快速学习递归的基本使用

开发者学堂课程Python入门 2020年版递归的基本使用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10338


递归的基本使用

内容介绍

一、递归函数的概念

二、递归函数的应用


一、递归函数的概念

def test():

print( 'test')

demo()

def demo() :

print( ' demo ' )

在一个函数里可以调用另一个函数,在一个函数里能否自己调用自己

def test():

print( 'test')

test()

1.递归简单来说,就是函数内部自己调用自己

def tell_story() :

print('从前有座山')

print('山上有个庙')

print( '庙里有个老和尚')

print( '还有一个小和尚')

print( '老和尚在个小和尚讲故事')

print('故事的内容是')

tell_story()

tell_story()  调用故事,就会一遍一遍的讲

运行结果:不断讲故事讲到系统崩,这是递归的深度。

2.递归最重要的是找到出口(停止的条件)

停止的条件特别多

count =0

def tell_story() :

count +=1

print('从前有座山')

print('山上有个庙')

print( '庙里有个老和尚')

print( '还有一个小和尚')

print( '老和尚在个小和尚讲故事')

print('故事的内容是')

tell_story()

报错了,如何解决,加global count

count =0

def tell_story() :

global count

count +=1

print('前有座山')

print('山上有个庙')

print( '庙里有个老和尚')

print( '还有一个小和尚')

print( '老和尚在个小和尚讲故事')

print('故事的内容是')

if count <5:

tell_story

tell_story()

因为变量是一个全局变量,在函数内部,如果想用外部的全局变量,就要用global,运行结果:故事讲了5次。

 

二、递归函数的应用

#1~n的和

Def get_sum(n):

Pass

注意:break 只能用于循环语句,不能用于递归

def get_sum(n):

return get_sum(n-1) + n

1 +2 + 3+4+5 + 6

= get_sum(5)+6

= get_sum(4)+5+6

n项的和等于n加上n-1的和

Get_sum(6)=get_sum(5)+6

=get_sum(4)+5+6

= get_sum(3)+4+5+6

=get_sum(2)+3+4+5+6

getsum(1)+2+ 34+ 5+ 6

get_sum(0)+1+2+ 3+4+5+6

get_sum(-1)

一直加下去就没有尽头了,不能让他一直延续下去,

If n==0

Return

这时将0传进来,你告诉我n=0,这时就不用递归了,直接告诉你这个结果=0

#1 ~ n的和

def get_sum(n):

if n == 0:

return o

return n + get_sum(n - 1)

print(get_sum(6))

运行结果:21

先想代码如何写,然后想如何让他停下来。

如果写成

If == 6

Return 21

运行结果:21

print(get_sum(7)  #7+21

注意:如果小于6就有问题了,小于6的和就求不到了,因为后面都是get_sumn-1,小于6就死循环了,所以递归就需要思考好如何出去,如上题所示,大于等于6就都可以计算.

Get_sum(8)=8+get_sum(7)

=8+7+21

一般是一直计算,直到1停止计算。

相关文章
|
6月前
|
Java
for循环的基本使用案例
摘要:本文介绍如何使用for循环在Java中打印一个4行5列的星号(*)矩阵。通过嵌套循环实现,外层循环控制行数,需运行4次,内层循环控制每行的列数,需运行5次以打印5个星号。每次外层循环结束后应添加换行符确保下一行从新开始,否则将无法形成正确的矩阵形状。 字符数:194 Markdown格式: ``` 摘要:本文介绍如何使用for循环在Java中打印一个4x5的星号(*)矩阵。通过嵌套循环实现,外层循环控制4行,内层循环每行打印5个星号。每次外层循环后需添加换行确保下一行从头开始,否则矩阵形状无法正确呈现。 ``` 字符数:168
for循环的基本使用
For循环摘要: - For循环控制代码段重复执行。 - 格式: `for(初始化; 条件; 更新){ 循环体; }` - 流程: 1. 初始化变量。 2. 检查条件,若真,则执行循环体。 3. 更新变量。 4. 再次检查条件,决定是否继续循环。 - 循环按1→2→3→4顺序执行,直至条件不满足。 注:以上内容未包含图片信息。
|
7月前
看了那么多的函数递归的文章,看懂了但不会用,看看这篇吧!
看了那么多的函数递归的文章,看懂了但不会用,看看这篇吧!
|
8月前
|
存储 C++
【C++】function包装器全解(代码演示,例题演示)
【C++】function包装器全解(代码演示,例题演示)
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序4
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序4
63 0
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序5
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序5
41 0
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序1
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序1
63 0
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序2
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序2
57 0
|
前端开发
前端学习笔记202305学习笔记第二十四天-for循环
前端学习笔记202305学习笔记第二十四天-for循环
56 0
如何使用递归及注意事项
如何使用递归及注意事项
99 0

热门文章

最新文章