python計算階乘的兩個函數用法
計算階乘的兩個函數用法
1.reduce()
#從functools中調用reduce()函數 from functools import reduce #使用lambda,匿名函數,迭代 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.利用循環,如下代碼演示
def main(num): a=1 for i in range(1,num+1): a*=i return a print(main(10))
執行結果如下:
2.導入functools中的reduce模塊
from functools import reduce def main(num): print("方法二:導入functools中的reduce") return reduce(lambda x,y:x*y,range(1,num+1)) print(main(10))
執行結果如下:
3.導入math庫,使用math庫的factorial方法
import math def main(num): return math.factorial(num) print(main(5))
執行結果如下:
4.使用遞歸函數
def main(num): def factorial(n): if n==1: return 1 else: return factorial(n-1)*n return factorial(num) print(main(5))
執行結果如下:
5.使用eval適配表達式
def main(num): return eval('*'.join(map(str,range(1,num+1)))) print(main(5))
執行結果如下:
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Python lambda函數使用方法深度總結
- 深入分析Python中Lambda函數的用法
- Python 階乘詳解
- Python3中map()、reduce()、filter()的用法詳解
- Python 代碼實現列表的最小公倍數