📜  如何在Python中使用 SciPy 找到阶乘 os 一个数字?

📅  最后修改于: 2022-05-13 01:54:24.964000             🧑  作者: Mango

如何在Python中使用 SciPy 找到阶乘 os 一个数字?

SciPy 是一个用于解决科学和数学问题的开源Python库。它建立在 NumPy 之上,它允许我们使用各种高级命令进行操作和可视化。 Scipy 还提供了一个scipy.special.factorial()函数来计算任何数字的阶乘。

scipy.special.factorial()

此函数接受两个参数,int 或 array_like int 另一个布尔值,并将给定参数的阶乘返回为整数或浮点数,具体取决于布尔值。

注意:如果 Exact 为 True,则返回整数值,如果 False,则使用 gamma函数返回浮点值,默认值为 False。

示例 1:

Python3
# importing module
from scipy.special import factorial
  
  
print(factorial(3))
  
# False always return float value
print(factorial(4, exact=False))


Python3
# importing module
from scipy.special import factorial
  
  
# True always return int value
print(factorial(4, exact=True))


Python3
# importing module
from scipy.special import factorial
  
  
print(factorial(-3, exact=False))
print(factorial(-4, exact=True))


Python3
# importing module
import numpy as np
from scipy.special import factorial
  
# creating list
list = [6, 3, 4, 5]
  
# creating NumPy Array
arr = np.array(list)
  
# computing factorial and display
print("Factorial value in float : ", 
      factorial(arr, exact=0))
  
print("Factorial value in Integer : ", 
      factorial(arr, exact=1))


输出 :

6.0
24.0

示例 2:如果精确值为 True,则它始终返回一个整数值。

Python3

# importing module
from scipy.special import factorial
  
  
# True always return int value
print(factorial(4, exact=True))

输出 :

24

示例 3:如果我们计算阶乘的负值,那么它总是返回零。

Python3

# importing module
from scipy.special import factorial
  
  
print(factorial(-3, exact=False))
print(factorial(-4, exact=True))

输出 :

0.0
0

示例 4:获取数组元素的阶乘。

Python3

# importing module
import numpy as np
from scipy.special import factorial
  
# creating list
list = [6, 3, 4, 5]
  
# creating NumPy Array
arr = np.array(list)
  
# computing factorial and display
print("Factorial value in float : ", 
      factorial(arr, exact=0))
  
print("Factorial value in Integer : ", 
      factorial(arr, exact=1))

输出 :

Factorial value in float :  [720.   6.  24. 120.]
Factorial value in Integer :  [720   6  24 120]