#递归函数本质就是函数内部自己调用自己
#递归函数最重要的就是找到出口(终止的条件)
count = 0 #定义一个全局变量
def tell_story():
global count
count += 1
print('从前有座山')
print('山上有座庙')
print('庙里有个老和尚')
print('还有一个小和尚')
print('老和尚在给小和尚讲故事')
print('故事是这样的')
if count < 5:
tell_story()
tell_story()
#用递归求n的阶乘
def jiecheng(n):
if n == 0:
return 1
return n * jiecheng(n-1)
print(jiecheng(5))
#用递归求斐波那契第n个数
def fbnq(n):
if n == 1 or n == 2:
return 1
return fbnq(n-2) + fbnq(n-1)
print(fbnq(9))
结果
从前有座山
山上有座庙
庙里有个老和尚
还有一个小和尚
老和尚在给小和尚讲故事
故事是这样的
从前有座山
山上有座庙
庙里有个老和尚
还有一个小和尚
老和尚在给小和尚讲故事
故事是这样的
从前有座山
山上有座庙
庙里有个老和尚
还有一个小和尚
老和尚在给小和尚讲故事
故事是这样的
从前有座山
山上有座庙
庙里有个老和尚
还有一个小和尚
老和尚在给小和尚讲故事
故事是这样的
从前有座山
山上有座庙
庙里有个老和尚
还有一个小和尚
老和尚在给小和尚讲故事
故事是这样的
120
34
Process finished with exit code 0