python實(shí)現(xiàn)階乘的三種方法
python實(shí)現(xiàn)階乘的幾種方法
階乘(factorial)
自然數(shù)n!(n的階乘)是指從1、2……(n-1)、n這n個(gè)數(shù)的連乘積,即
n!=1×2×……×(n-1)×n
如:5!= 1 * 2 * 3 * 4 * 5 =120
1、普通的for循環(huán)語句來計(jì)算階乘:
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)模塊來計(jì)算階乘:
使用math模塊的factorial()函數(shù)來計(jì)算階乘
import math n = int(input("請(qǐng)輸入一個(gè)整數(shù):")) print(math.factorial(n))
3、采用遞歸函數(shù)來計(jì)算階乘
寫法一:
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á)式【注】:
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á)式,語法:
為真時(shí)的結(jié)果 if 判定條件 else 為假時(shí)的結(jié)果】
以上三種方式分別采用了不同的方法,第一種是最容易理解的,第二種是最python式的,第三種直接定義一個(gè)階乘函數(shù),隨時(shí)都可以調(diào)用,從而得到不同值。
以上就是python實(shí)現(xiàn)階乘的三種方法的詳細(xì)內(nèi)容,更多關(guān)于python階乘的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python實(shí)現(xiàn)字典依據(jù)value排序
新華字典大家都使用過吧,那么使用python語言是如何實(shí)現(xiàn)字典排序的呢?下面跟著本教程一起學(xué)習(xí)Python實(shí)現(xiàn)字典依據(jù)value排序,需要的朋友參考下吧2016-02-02詳解python之多進(jìn)程和進(jìn)程池(Processing庫)
本篇文章主要介紹了詳解python之多進(jìn)程和進(jìn)程池(Processing庫),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-06-06python機(jī)器學(xué)習(xí)基礎(chǔ)決策樹與隨機(jī)森林概率論
這篇文章主要為大家介紹了python機(jī)器學(xué)習(xí)基礎(chǔ)決策樹與隨機(jī)森林概率論詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11pyhton Sanic框架的文件上傳功能開發(fā)實(shí)戰(zhàn)示例教程
Sanic是一個(gè)Python 3.5+的異步Web框架,它的設(shè)計(jì)理念與Flask相似,但采用了更高效的異步I/O處理,在處理文件上傳時(shí),Sanic同樣提供了方便、高效的方法,本教程將結(jié)合實(shí)際案例,詳細(xì)介紹如何在Sanic框架中實(shí)現(xiàn)文件上傳的功能,感興趣的朋友跟隨小編一起看看吧2024-08-08Python實(shí)現(xiàn)密鑰密碼(加解密)實(shí)例詳解
這篇文章主要介紹了Python實(shí)現(xiàn)密鑰密碼(加解密),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04使用Python連接SQLite數(shù)據(jù)庫的操作步驟
SQLite是一種輕量級(jí)的嵌入式數(shù)據(jù)庫,廣泛應(yīng)用于各種應(yīng)用程序中,Python提供了內(nèi)置的sqlite3模塊,使得連接和操作SQLite數(shù)據(jù)庫變得非常簡單,本文給大家介紹了使用Python連接SQLite數(shù)據(jù)庫的操作步驟,需要的朋友可以參考下2024-12-12基于django和dropzone.js實(shí)現(xiàn)上傳文件
這篇文章主要介紹了基于django和dropzone.js實(shí)現(xiàn)上傳文件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11python爬蟲學(xué)習(xí)筆記--BeautifulSoup4庫的使用詳解
這篇文章主要介紹了Python中使用Beautiful Soup庫的超詳細(xì)教程,示例代碼基于Python2.x版本,極力推薦!需要的朋友可以參考下2021-08-08python實(shí)現(xiàn)爬取千萬淘寶商品的方法
這篇文章主要介紹了python實(shí)現(xiàn)爬取千萬淘寶商品的方法,涉及Python頁面抓取的相關(guān)技巧,需要的朋友可以參考下2015-06-06