課程
/后端開發
/Python
/python進階
def factorial(n):
? ? return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
2020-01-17
源自:python進階 2-12
正在回答
@log
將@log下的函數定義為log函數的參數
沒什么關系只是寫個函數內用,重點在于理解裝飾器,這里直接寫pass都行
range(1,n+1)創建一個1到n(都包含)的整數列表
lambda x,y :x*y 這個函數
reduce函數依次將列表中的前兩個參數作用于lambda函數,除第一次,后續的第一個參數為前面計算的值
這段代碼的意思是1*2*...*n
慕函數3239574 提問者
舉報
學習函數式、模塊和面向對象編程,掌握Python高級程序設計
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-07-22
@log
def factorial(n):
? ? return reduce(lambda x,y: x*y, range(1, n+1))
將@log下的函數定義為log函數的參數
2020-02-08
沒什么關系只是寫個函數內用,重點在于理解裝飾器,這里直接寫pass都行
2020-01-17
range(1,n+1)創建一個1到n(都包含)的整數列表
lambda x,y :x*y 這個函數
reduce函數依次將列表中的前兩個參數作用于lambda函數,除第一次,后續的第一個參數為前面計算的值
這段代碼的意思是1*2*...*n