python計算階乘的兩個函數(shù)用法
更新時間:2022年05月13日 10:16:25 作者:watermelon12138
這篇文章主要介紹了python計算階乘的兩個函數(shù)用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
計算階乘的兩個函數(shù)用法
1.reduce()
#從functools中調(diào)用reduce()函數(shù) from functools import reduce #使用lambda,匿名函數(shù),迭代 num = reduce(lambda x,y:x*y,range(1,n)) ?# 計算n的階乘 print(num)
2.factorial()
import math value = math.factorial(n) ?# 計算n的階乘 print(value)
計算階乘的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é)果如下:

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python源碼學(xué)習(xí)之PyType_Type和PyBaseObject_Type詳解
今天給大家?guī)淼氖顷P(guān)于Python源碼的相關(guān)知識學(xué)習(xí),文章圍繞著PyType_Type和PyBaseObject_Type展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Python使用Selenium模塊實現(xiàn)模擬瀏覽器抓取淘寶商品美食信息功能示例
這篇文章主要介紹了Python使用Selenium模塊實現(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ì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07

