跳到主要内容

Python 程序:使用递归找到数字的阶乘

要理解这个例子,你应当了解以下Python 编程主题的知识:

一个数的阶乘是从 1 到该数所有整数的乘积。

例如,6 的阶乘是 1*2*3*4*5*6 = 720。阶乘对负数没有定义,而零的阶乘为一,0! = 1。

源代码

# 使用递归求一个数的阶乘
def recur_factorial(n):
if n == 1:
return n
else:
return n*recur_factorial(n-1)

num = 7

# 检查数值是否为负数
if num < 0:
print("抱歉,负数没有阶乘")
elif num == 0:
print("0 的阶乘是 1")
else:
print("数字", num, "的阶乘是", recur_factorial(num))

输出

数字7的阶乘是5040

注意: 要求另一个数字的阶乘,请更改 num 的值。

这里,数字存储在 num 中。这个数字传递给 recur_factorial() 函数来计算该数字的阶乘。