python計(jì)算階乘的兩個(gè)函數(shù)用法
更新時(shí)間:2022年05月13日 10:16:25 作者:watermelon12138
這篇文章主要介紹了python計(jì)算階乘的兩個(gè)函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
計(jì)算階乘的兩個(gè)函數(shù)用法
1.reduce()
#從functools中調(diào)用reduce()函數(shù) from functools import reduce #使用lambda,匿名函數(shù),迭代 num = reduce(lambda x,y:x*y,range(1,n)) ?# 計(jì)算n的階乘 print(num)
2.factorial()
import math value = math.factorial(n) ?# 計(jì)算n的階乘 print(value)
計(jì)算階乘的5種方法
1.利用循環(huán),如下代碼演示
def main(num):
a=1
for i in range(1,num+1):
a*=i
return a
print(main(10))
執(zhí)行結(jié)果如下:

2.導(dǎo)入functools中的reduce模塊
from functools import reduce
def main(num):
print("方法二:導(dǎo)入functools中的reduce")
return reduce(lambda x,y:x*y,range(1,num+1))
print(main(10))
執(zhí)行結(jié)果如下:

3.導(dǎo)入math庫,使用math庫的factorial方法
import math
def main(num):
return math.factorial(num)
print(main(5))
執(zhí)行結(jié)果如下:

4.使用遞歸函數(shù)
def main(num):
def factorial(n):
if n==1:
return 1
else:
return factorial(n-1)*n
return factorial(num)
print(main(5))
執(zhí)行結(jié)果如下:

5.使用eval適配表達(dá)式
def main(num):
return eval('*'.join(map(str,range(1,num+1))))
print(main(5))
執(zhí)行結(jié)果如下:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python源碼學(xué)習(xí)之PyType_Type和PyBaseObject_Type詳解
今天給大家?guī)淼氖顷P(guān)于Python源碼的相關(guān)知識(shí)學(xué)習(xí),文章圍繞著PyType_Type和PyBaseObject_Type展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Python使用Selenium模塊實(shí)現(xiàn)模擬瀏覽器抓取淘寶商品美食信息功能示例
這篇文章主要介紹了Python使用Selenium模塊實(shí)現(xiàn)模擬瀏覽器抓取淘寶商品美食信息功能,涉及Python基于re模塊的正則匹配及selenium模塊的頁面抓取等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
CentOS 7下安裝Python 3.5并與Python2.7兼容并存詳解
這篇文章主要給大家介紹了在CentOS 7下安裝Python 3.5并與Python2.7兼容并存的相關(guān)資料,文中將安裝步驟介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07
Python?Opencv實(shí)現(xiàn)圖片切割處理
這篇文章主要為大家詳細(xì)介紹了Python?Opencv實(shí)現(xiàn)圖片切割處理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Python中ValueError報(bào)錯(cuò)的原因和解決辦法
在Python編程中,ValueError是一種非常常見的異常類型,它通常發(fā)生在函數(shù)接收到一個(gè)有效類型但不適合該函數(shù)操作的值時(shí),本文將深入探討ValueError的報(bào)錯(cuò)原因、提供詳細(xì)的解決辦法,并通過豐富的代碼示例來加深理解,需要的朋友可以參考下2024-07-07

