022 函数:递归
函数调用自身,在函数内部,可以调用其他可见函数,也可以调用自己
递归的两个条件:1. 调用函数自身 2. 设置了自身正确的返回值
>>> def recursion():
... return recursion()
...
>>> recursion() #调用不起来,会报错,ctrl+c结束
设置递归的层数
>>> import sys
>>> sys.setrecursionlimit(1000000)
汉诺塔游戏
树结构的定义
谢尔宾斯基三角形
女神递归自拍
递归求阶乘
写一个求阶乘的函数
— 正整数阶乘指从1乘以2乘以3乘以4一直乘到所要求的数。
— 例如所给的数是5,则阶乘式是1×2×3×4×5,得到的积是120,所以120就是4的阶乘。
def factorial(n):
result = n
for i in range(1, n):
result *= i #这里的result是局部变量
return result
number = int(input('请输入一个正整数:'))
result = factorial(number) #这里的result是全局变量
print("%d 的阶乘是:%d" % (number, result))
递归
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
number = int(input('请输入一个正整数:'))
result = factorial(number)
print("%d 的阶乘是:%d" % (number, result))
递归简便,但也有局限
023 递归:这帮小兔崽子
斐波那契数列的迭代实现
/) /)
ฅ(• - •)ฅ ~ ~ ฅ’ω’ฅ