Python實現(xiàn)階乘的四種寫法
更新時間:2025年01月17日 09:32:44 作者:Python熱愛者
本文主要介紹了Python實現(xiàn)階乘的六種寫法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
階乘–>>數(shù)學(xué)用n! = n*(n-1)(n-2)(n-3)…321,0的階乘也是1,本人無法演繹,只能簡單的從1開始
第一種:推導(dǎo)式+循環(huán)遍歷列表內(nèi)每個元素相乘
def factorial(n):
li =[i for i in range(1,n+1)] #li = [1,2,3,4] 推導(dǎo)式,形成一個列表,從1開始至n+1結(jié)束(左閉右開,n須+1)
a = 1 # a = 1開始計算,如果從0開始,0×任何整數(shù)都為0,對此題無太大意義
for i in li: # 遍歷列表內(nèi)元素,循環(huán)需要遍歷完才會進行下一步
a = a *i # =左邊的a為右邊相乘的賦值,第一次=右邊為1*1 則a =1,第二次=右邊為1*2則=左邊a=2,第三次=右邊為2*3則=左邊a=6,.......
return a
print(factorial(4))
第二種:調(diào)用functools模塊reduce的累計算
from functools import reduce #reduce 累計算,格式為reduce(函數(shù),序列)序列:array 列表、元組、字典
def factorial(n):
li = [i for i in range(1,n+1)] #同第一種推導(dǎo)式,形成列表
return reduce((lambda x,y:x*y),li) # 匿名函數(shù)lambda
print(factorial(4))
第三種:遞歸
def factorial(n):
if n <=1:
return 1
return n*factorial(n-1)
print(factorial(5))
第四種:模塊numpy中的prod
import numpy
def func(n):
Array = [i for i in range(1,n+1)]
return numpy.prod(Array)
print(func(1))到此這篇關(guān)于Python實現(xiàn)階乘的六種寫法的文章就介紹到這了,更多相關(guān)Python 階乘內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何解決jupyter notebook無法導(dǎo)入自己安裝的包
這篇文章主要介紹了如何解決jupyter notebook無法導(dǎo)入自己安裝的包問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
pytorch制作自己的LMDB數(shù)據(jù)操作示例
這篇文章主要介紹了pytorch制作自己的LMDB數(shù)據(jù)操作,結(jié)合實例形式分析了pytorch使用lmdb的相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下2019-12-12
Python3+Selenium+Chrome實現(xiàn)自動填寫WPS表單
本文通過python3、第三方python庫Selenium和谷歌瀏覽器Chrome,完成WPS表單的自動填寫,通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02

