递归函数(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
相关推荐
秋难降19 分钟前
Python 知识点详解(三)
python·编程语言
chao_7891 小时前
二分查找篇——寻找旋转排序数组中的最小值【LeetCode】
python·线性代数·算法·leetcode·矩阵
金玉满堂@bj1 小时前
PyCharm 中 Python 解释器的添加选项及作用
ide·python·pycharm
程序员三藏1 小时前
如何使用Pytest进行测试?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
随心点儿2 小时前
使用python 将多个docx文件合并为一个word
开发语言·python·多个word合并为一个
不学无术の码农2 小时前
《Effective Python》第十三章 测试与调试——使用 Mock 测试具有复杂依赖的代码
开发语言·python
sleepybear11132 小时前
在Ubuntu上从零开始编译并运行Home Assistant源码并集成HACS与小米开源的Ha Xiaomi Home
python·智能家居·小米·home assistant·米家·ha xiaomi home
纪伊路上盛名在2 小时前
(鱼书)深度学习入门1:python入门
人工智能·python·深度学习
夏末蝉未鸣013 小时前
python transformers笔记(TrainingArguments类)
python·自然语言处理·transformer
德育处主任Pro3 小时前
「py数据分析」04如何将 Python 爬取的数据保存为 CSV 文件
数据库·python·数据分析