递归函数(Python)

文章目录


前言

在函数内部,可以调用其他函数。如果一个函数在内部自己调用自己,这个函数就是递归函数。

一、递归函数

在数学上,关于递归函数的定义如下:对于某一函数f(x),其定义域是集合A,那么若对于A集合中的某一个值X0,其函数值f(x0)由f(f(x0))决定,那么就称f(x)为递归函数。

python 复制代码
'''
		计算阶乘 n! = 1 2 3 ... n
		1! = 1  
		2! = 2 × 1 = 2 × 1!  
		3! = 3 × 2 × 1 = 3 × 2!  
		4! = 4 × 3 × 2 × 1 = 4 × 3!  
		...  
		n! = n × (n-1)!    
'''
def func(a): # for循环
    num = 1
    for i in range(1, a+1):
        num = num * i
    print(num)

'''
    func(n) = n * func(n-1)
'''
def func(num): # 递归
    if num > 1:	# 0和1的阶乘都是1;负数没有阶乘
        return num * step_num(num - 1)
    else:
        return 1
相关推荐
小鸡吃米…1 分钟前
机器学习 - 贝叶斯定理
人工智能·python·机器学习
紫竹苑主2 分钟前
VS Cose + PlatformIO +ESP32-S3 + ESPIDF开发环境安装卡壳持续等待问题解决
vscode·python·嵌入式硬件·物联网·硬件架构
Java后端的Ai之路3 分钟前
【Python教程11】-文件
开发语言·python
2301_8223754422 分钟前
Python虚拟环境(venv)完全指南:隔离项目依赖
jvm·数据库·python
2301_7903009623 分钟前
Python类型提示(Type Hints)详解
jvm·数据库·python
Eric.Lee202128 分钟前
SLAM 路径规划的安全走廊实现
python·机器人·ros·路径规划·避障·安全走廊
小W与影刀RPA35 分钟前
【影刀RPA】:智能过滤敏感词,高效输出表格
大数据·人工智能·python·低代码·自动化·rpa·影刀rpa
Yorlen_Zhang41 分钟前
python Tkinter Frame 深度解析与实战指南
开发语言·python
2401_8384725141 分钟前
Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
jvm·数据库·python
2301_822363601 小时前
Python单元测试(unittest)实战指南
jvm·数据库·python