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


方法一
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 )


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM