1. 程式人生 > >【Python3練習題 020】 求1+2!+3!+...+20!的和

【Python3練習題 020】 求1+2!+3!+...+20!的和

sum div spa port ons fun plus 函數 UNC

方法一 import functools sum = 0 for i in range(1,21): sum = sum + functools.reduce(lambda x,y: x*y, range(1, i+1)) print(sum) lambda x,y: x*y 的意思是:有一個函數,接受x, y兩個參數做乘法。 import functools 方法二 def f(n): if n == 1: return 1 else: return functools.reduce(lambda x,y: x*y,
range(1, n+1)) + f(n-1) print(f(20)) 方法三 def plus(n): if n == 1: return 1 else: return reduce(lambda x,y: x*y, range(1,n+1)) + plus(n-1) print plus(20) 方法四 sum = 0 x = 1 for i in range(1,21): x = x * i sum = sum + x print(sum)

【Python3練習題 020】 求1+2!+3!+...+20!的和