python實現階乘的三種方法

  • A+
所屬分類:百科知識

階乘是基斯頓·卡曼于?1808?年發明的運算符號,是數學術語,一個正整數的階乘(factorial)是所有小于及等于該數的正整數的積,并且0的階乘為1,本文給大家介紹了python實現階乘的三種方法,通過代碼示例介紹的非常詳細,需要的朋友可以參考下

python實現階乘的幾種方法

階乘(factorial)

自然數n!(n的階乘)是指從1、2……(n-1)、n這n個數的連乘積,即

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

如:5!= 1 * 2 * 3 * 4 * 5 =120

1、普通的for循環語句來計算階乘:

1
2
3
4
5
a = 1
n = int(input("請輸入一個整數"))
for i in range(1,n+1):
????a = a * i
print(a)

2、使用標準模塊來計算階乘:

使用math模塊的factorial()函數來計算階乘

1
2
3
import math
n = int(input("請輸入一個整數:"))
print(math.factorial(n))

3、采用遞歸函數來計算階乘

寫法一:

1
2
3
4
5
6
7
8
def factorial(n):
????if? n == 1:
????????return 1
????else:
????????return (n*factorial(n-1))
?
n = int(input("請輸入一個整數:"))
print(factorial(n))

寫法二,用到了三元運算表達式【注】

1
2
3
4
5
def factorial(n):
??????return 1 if n < 2 else n * factorial(n - 1)
?
n = int(input("請輸入一個整數:"))
print(factorial(n))

【注:三元運算表達式,語法:

為真時的結果 if 判定條件 else 為假時的結果】

以上三種方式分別采用了不同的方法,第一種是最容易理解的,第二種是最python式的,第三種直接定義一個階乘函數,隨時都可以調用,從而得到不同值。

推薦應用

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: