python计算某个数的阶乘

初学python的人经常遇到如何求一个数的阶乘的问题。

n ! = n ( n 1 ) ( n 2 ) 1 n! = n * (n-1) * (n-2) *……*1

今天我总结了几种方法。
(1)利用循环(for或者while都行)

n=int(input())
fact=1
for i in range(1,n+1):
    fact *=i
print(fact)

这里利用了循环来实现连乘
(2)(递归)函数

def fact(n):
    if n==1:
        return 1
    return n*fact(n-1)

定义一个函数,基例为1。因为

n ! = n ( n 1 ) ! n! = n * (n-1)!

是一个典型的递归函数。
(3)直接利用内置函数math库中的factorial函数

import math
math.factorial(n)

或者直接调用numpy库中的阶乘函数。

猜你喜欢

转载自blog.csdn.net/weixin_46530492/article/details/105473799