階乘是基斯頓·卡曼于?1808?年發(fā)明的運(yùn)算符號(hào),是數(shù)學(xué)術(shù)語(yǔ),一個(gè)正整數(shù)的階乘(factorial)是所有小于及等于該數(shù)的正整數(shù)的積,并且0的階乘為1,本文給大家介紹了python實(shí)現(xiàn)階乘的三種方法,通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
python實(shí)現(xiàn)階乘的幾種方法
階乘(factorial)文章源自四五設(shè)計(jì)網(wǎng)-http://www.wasochina.com/44693.html
自然數(shù)n!(n的階乘)是指從1、2……(n-1)、n這n個(gè)數(shù)的連乘積,即文章源自四五設(shè)計(jì)網(wǎng)-http://www.wasochina.com/44693.html
n!=1×2×……×(n-1)×n文章源自四五設(shè)計(jì)網(wǎng)-http://www.wasochina.com/44693.html
如:5!= 1 * 2 * 3 * 4 * 5 =120文章源自四五設(shè)計(jì)網(wǎng)-http://www.wasochina.com/44693.html
1、普通的for循環(huán)語(yǔ)句來(lái)計(jì)算階乘:文章源自四五設(shè)計(jì)網(wǎng)-http://www.wasochina.com/44693.html
1 2 3 4 5 | a = 1 n = int ( input ( "請(qǐng)輸入一個(gè)整數(shù)" )) for i in range ( 1 ,n + 1 ): ???? a = a * i print (a) |
2、使用標(biāo)準(zhǔn)模塊來(lái)計(jì)算階乘:文章源自四五設(shè)計(jì)網(wǎng)-http://www.wasochina.com/44693.html
使用math模塊的factorial()函數(shù)來(lái)計(jì)算階乘文章源自四五設(shè)計(jì)網(wǎng)-http://www.wasochina.com/44693.html
1 2 3 | import math n = int ( input ( "請(qǐng)輸入一個(gè)整數(shù):" )) print (math.factorial(n)) |
3、采用遞歸函數(shù)來(lái)計(jì)算階乘文章源自四五設(shè)計(jì)網(wǎng)-http://www.wasochina.com/44693.html
寫法一:文章源自四五設(shè)計(jì)網(wǎng)-http://www.wasochina.com/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 ( "請(qǐng)輸入一個(gè)整數(shù):" )) print (factorial(n)) |
寫法二,用到了三元運(yùn)算表達(dá)式【注】:文章源自四五設(shè)計(jì)網(wǎng)-http://www.wasochina.com/44693.html
1 2 3 4 5 | def factorial(n): ?????? return 1 if n < 2 else n * factorial(n - 1 ) ? n = int ( input ( "請(qǐng)輸入一個(gè)整數(shù):" )) print (factorial(n)) |
【注:三元運(yùn)算表達(dá)式,語(yǔ)法:
為真時(shí)的結(jié)果 if 判定條件 else 為假時(shí)的結(jié)果】
以上三種方式分別采用了不同的方法,第一種是最容易理解的,第二種是最python式的,第三種直接定義一個(gè)階乘函數(shù),隨時(shí)都可以調(diào)用,從而得到不同值。


評(píng)論