python递归函数
递归函数,简而言之就是在内部调用自身的函数。
python递归函数
c/c++当中讲到递归函数时,有个非常有名的例子,就是规则地打印星号,我们也可以用Python的递归函数来实现。
递归函数实例
In[1]:
def recurrence(x):
x = int(x)
if x >= 1: #递归函数需要设计一个退出递归的条件判断
print('*'*x)
x -= 1
return recurrence(x) #函数内部调用自己
recurrence(12)
————————————————————————————————————
************
***********
**********
*********
********
*******
******
*****
****
***
**
*
如果想正过来打印型号,可以将代码作如下简单的修改:
In[1]
def recurrence(x,y):
x = int(x)
if x <= y:
print('*'*x)
x += 1
return recurrence(x,y)
recurrence(5,18)
————————————————————————————————————
*****
******
*******
********
*********
**********
***********
************
*************
**************
***************
****************
*****************
******************
示例解析
- 上面的代码中,当我们在函数体内部调用自身函数的时候,如recurrence(x,y),传入的参数x是经过x += 1进行处理的,也就是说参数发生了改变,而y还是原来的值。
- 递归函数必须要有一个终止递归循环的条件判断,如if x <= y否则程序将一直循环下去,导致程序崩溃。
python的递归函数就暂时介绍到这里,后面要是有遇见了会继续介绍,下一章节我们将介绍一下匿名函数。