Python 中的 factorial()
pythonserver side programmingprogramming更新于 2025/10/19 6:04:17
在数据分析和其他涉及 Python 的数学分析中,查找数字的阶乘是经常需要的。通过将从 1 开始到给定数字的所有整数相乘,始终可以找到正整数的阶乘。有三种方法可以找到它,如下所示。
使用 For 循环
我们可以使用 for 循环从数字 1 迭代到指定数字,并在每一步不断相乘。在下面的程序中,我们要求用户输入数字并将输入转换为整数,然后再在循环中使用它。这样我们就可以确保在计算中获得正整数。
示例
n = input("Enter a number: ")
factorial = 1
if int(n) >= 1:
for i in range (1,int(n)+1):
factorial = factorial * i
print("Factorail of ",n , " is : ",factorial)
输出
运行上述代码得到以下结果 −
Enter a number: 5 Factorail of 5 is : 120
Using Recurssion
示例
num = input("Enter a number: ")
def recur_factorial(n):
if n == 1:
return n
elif n < 1:
return ("NA")
else:
return n*recur_factorial(n-1)
print (recur_factorial(int(num)))
输出
运行上述代码得到以下结果 −
#Run1: Enter a number: 5 120 #Run2: Enter a number: -2 NA
使用 math.factorial()
在这种情况下,我们可以直接使用 math 模块中提供的阶乘函数。我们不需要编写阶乘功能的代码,而是直接使用 math.factorial()。这还可以处理负数和小数的情况。
示例
import math
num = input("Enter a number: ")
print("The factorial of ", num, " is : ")
print(math.factorial(int(num)))
Outputs
运行上述代码得到以下结果 −
#Run1: Enter a number: 5 The factorial of 5 is : 120 #Run 2: Enter a number: 3.6 Traceback (most recent call last): The factorial of 3.6 is : File "C:/Users....py", line 5, in print(math.factorial(int(num))) ValueError: invalid literal for int() with base 10: '3.6'
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

