前言:
今天大家对“pythonn阶乘”可能比较讲究,兄弟们都想要了解一些“pythonn阶乘”的相关资讯。那么小编同时在网上汇集了一些有关“pythonn阶乘””的相关内容,希望兄弟们能喜欢,你们一起来了解一下吧!阶乘是对于正整数 n,是所有小于或等于n的正整数的乘积。用 n! 表示。
例如:5!=5*4*3*2*1
使用迭代计算数字的阶乘使用递归计算数字的阶乘使用math.factorial()函数计算数字的阶乘使用scipy.special模块的factorial()函数
使用迭代计算数字的阶乘
使用迭代方法计算阶乘,在程序中使用循环解决。
def fact(n): if n<0: print("负数不存在阶乘!") elif n==0: return 1 else: f=1 for i in range(1,n+1): f=f*i return f n=int(input("请输入:"))print(n,"的阶乘是:",fact(n))
1.如果数为负数,找不到阶乘,因为负数的阶乘不存在。
2.如果数字为零,那么直接返回1,因为零的阶乘是1。
3.如果数是正数,迭代循环计算阶乘。
使用递归计算数字的阶乘
使用递归,我们可以编写更少的代码,这将比使用迭代方法编写的代码更简练,更易于理解。
def fact(n):return 1 if (n==1 or n==0) else n*fact(n-1)n=int(input("请输入:"))print(n,"的阶乘是:",fact(n))
使用math.factorial()函数计算数字的阶乘
更简便计算阶乘的方法就是直接使用阶乘函数。可以通过使用math数学模块来完成。在math模块内部,有一个阶乘函数factorial()来计算数字的阶乘。必须导入math模块来使用此函数,在程序中调用它并传递要计算阶乘的数字。
from math import factorialn=int(input("请输入:"))print(n,"的阶乘是:",factorial(n))
使用scipy.special模块的factorial()函数
除了math模块,还有其他第三方库提供现成的阶乘函数,比如
scipy.special模块的factorial()函数。
语法格式:
scipy.special.factorial(n,exact=False)
参数:
n: 整数或序列
exact=False 返回浮点数
exact=True 返回整数
scipy.special模块的factorial()函数不但能计算单个数值的阶乘,还能计算列表、集合等多个数值的阶乘。
from scipy.special import factorialprint(factorial(4, exact=False))print(factorial(4, exact=True))#输出24.024#计算列表的阶乘from scipy.special import factorialn=[5,3,2]print(factorial(n, exact=False))print(factorial(n, exact=True))#输出[120. 6. 2.][120 6 2]
感谢阅读,关注我,精彩继续!
标签: #pythonn阶乘 #阶乘的运算方法 #js递归函数计算阶乘 #python求阶乘 #python求阶乘之和