多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Python 程序:使用递归查找数字的阶乘 > 原文: [https://www.programiz.com/python-programming/examples/factorial-recursion](https://www.programiz.com/python-programming/examples/factorial-recursion) #### 在此程序中,您将学习使用递归函数查找数字的阶乘。 要理解此示例,您应该了解以下 [Python 编程](/python-programming "Python tutorial")主题: * [Python `if...else`语句](/python-programming/if-elif-else) * [Python 函数](/python-programming/function) * [Python 递归](/python-programming/recursion) * * * 一个数字的阶乘是从 1 到该数字的所有整数的乘积。 例如,阶乘 6 是`1*2*3*4*5*6 = 720`。 没有定义负数的阶乘,零阶的阶乘是 1,`0! = 1`。 ## 源代码 ```py # Factorial of a number using recursion def recur_factorial(n): if n == 1: return n else: return n*recur_factorial(n-1) num = 7 # check if the number is negative if num < 0: print("Sorry, factorial does not exist for negative numbers") elif num == 0: print("The factorial of 0 is 1") else: print("The factorial of", num, "is", recur_factorial(num)) ``` **输出** ```py The factorial of 7 is 5040 ``` **注意**:要查找另一个数字的阶乘,请更改`num`的值。 在此,编号存储在`num`中。 该数字将传递给`recur_factorial()`函数以计算该数字的阶乘。