python實現階乘的三種方法

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

python實現階乘的幾種方法

階乘(factorial)文章源自四五設計網-http://www.133122.cn/44693.html

自然數n?。╪的階乘)是指從1、2……(n-1)、n這n個數的連乘積,即文章源自四五設計網-http://www.133122.cn/44693.html

n!=1×2×……×(n-1)×n文章源自四五設計網-http://www.133122.cn/44693.html

如:5!= 1 * 2 * 3 * 4 * 5 =120文章源自四五設計網-http://www.133122.cn/44693.html

1、普通的for循環語句來計算階乘:文章源自四五設計網-http://www.133122.cn/44693.html

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

2、使用標準模塊來計算階乘:文章源自四五設計網-http://www.133122.cn/44693.html

使用math模塊的factorial()函數來計算階乘文章源自四五設計網-http://www.133122.cn/44693.html

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

3、采用遞歸函數來計算階乘文章源自四五設計網-http://www.133122.cn/44693.html

寫法一:文章源自四五設計網-http://www.133122.cn/44693.html

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))

寫法二,用到了三元運算表達式【注】文章源自四五設計網-http://www.133122.cn/44693.html

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式的,第三種直接定義一個階乘函數,隨時都可以調用,從而得到不同值。

我的微信
微信掃一掃
weinxin
我的微信
惠生活福利社
微信掃一掃
weinxin
我的公眾號
 
  • 本文由 四五設計網小助手 發表于 2024年4月5日10:55:26
  • 轉載請務必保留本文鏈接:http://www.133122.cn/44693.html

發表評論

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

拖動滑塊以完成驗證