python3 將階乘改成函數(shù)形式進(jìn)行調(diào)用的操作
定義一個(gè)函數(shù),求一個(gè)數(shù)的階乘,比如求5!
#方法1,遞歸
def jc(num): if num==1: return 1 else: return num*jc(num-1) print(jc(5)) #返回120
# 方法2 ,for遍歷
def func(num): '求一個(gè)數(shù)字的階乘,例如5!' sum=1 for i in range(1,num+1): sum=sum*i #可以簡(jiǎn)化sum*=i return sum func(5) print(func(5))#返回120
# 方法3,lambda表達(dá)式寫(xiě)
#lambda不能調(diào)用數(shù)組,如列表。
# 這里需要借助一個(gè)函數(shù)去做(這個(gè)函數(shù)調(diào)用了lambda表達(dá)式作為參數(shù),即需要使用高階函數(shù)reduce#使用高階函數(shù),需要調(diào)用一個(gè)模塊# 將階乘改成函數(shù)形式進(jìn)行調(diào)用functools
from functools import reduce print(reduce(lambda x,y:x*y,range(1,6)))
補(bǔ)充:Python極少代碼實(shí)現(xiàn)階乘函數(shù)
from functools import reduce def my_factorial(x): if x < 0: raise ValueError('參數(shù)不能為負(fù)數(shù)') return reduce(lambda x, y: x*y, range(1, x+1)) if x != 0 else 1
運(yùn)行結(jié)果:
>>> for i in range(10): ... print(my_factorial(i), end=' ') >>> 1 1 2 6 24 120 720 5040 40320 362880
用好lambda、reduce、filter、map等可以很方便地定義函數(shù)。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
三個(gè)Python自動(dòng)化辦公好用到爆的模塊分享
本文小編來(lái)給大家推薦幾個(gè)在自動(dòng)化辦公領(lǐng)域當(dāng)中非常好用的Python模塊,可以幫助大家在工作當(dāng)中及大地提高效率,避免重復(fù)機(jī)械化地操作流程2022-07-07Python求解排列中的逆序數(shù)個(gè)數(shù)實(shí)例
這篇文章主要介紹了Python求解排列中的逆序數(shù)個(gè)數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05Python處理字節(jié)串:struct.pack和struct.unpack使用
這篇文章主要介紹了Python處理字節(jié)串:struct.pack和struct.unpack使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01Python爬蟲(chóng)設(shè)置Cookie解決網(wǎng)站攔截并爬取螞蟻短租的問(wèn)題
這篇文章主要介紹了Python爬蟲(chóng)設(shè)置Cookie解決網(wǎng)站攔截并爬取螞蟻短租,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02Python實(shí)現(xiàn)重建二叉樹(shù)的三種方法詳解
這篇文章主要介紹了Python實(shí)現(xiàn)重建二叉樹(shù)的三種方法,結(jié)合實(shí)例形式分析了Python重建二叉樹(shù)的實(shí)現(xiàn)方法、操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-06-06python實(shí)現(xiàn)人臉識(shí)別代碼
這篇文章主要介紹了python實(shí)現(xiàn)人臉識(shí)別代碼,還是比較不錯(cuò)的,這里分享個(gè)大家,共需要的朋友參考。2017-11-11Python實(shí)現(xiàn)執(zhí)行Shell命令并獲取輸出
這篇文章主要介紹了如何借助?os.system()?從?Python?腳本執(zhí)行?cmd?命令,以及如何借助?Python?中的?subprocess?模塊以更簡(jiǎn)單的方式從腳本執(zhí)行?cmd?命令,感興趣的小伙伴可以了解下2023-10-10