Python定義計算N的階乘的函式

2021-09-24 20:43:15 字數 2361 閱讀 5709

def

frac

(n):

r =1if n<=1:

if n==

0or n==1:

return

1else

:print

('n 不能小於0'

)else

:for i in

range(1

, n+1)

: r *= i

return r

print

(frac(5)

)print

(frac(6)

)print

(frac(7)

)

120

7205040

def

frac

(n):

if n<=1:

if n==

0or n==1:

return

1else

:print

('n 不能小於0'

)else

:return n * frac(n-1)

print

(frac(5)

)print

(frac(6)

)print

(frac(7)

)

120

7205040

說明:python 在 functools 模組提供了 reduce() 函式,該函式使用指定函式對序列物件進行累計。

檢視函式資訊:

('n 不能小於0'

)else

:return functools.

reduce

(fn,

range(1

, n+1)

)print

(frac(5)

)print

(frac(6)

)print

(frac(7)

)120

7205040

# 使用 lambda 簡寫

import functools

deffrac

(n):

if n<=1:

if n==

0or n==1:

return

1else

:print

('n 不能小於0'

)else

:return functools.

reduce

(lambda x, y: x*y,

range(1

, n+1)

)print

(frac(5)

)print

(frac(6)

)print

(frac(7)

)

120

7205040

計算n的階乘

c語言學習初期,相信你肯定編寫過 計算n的階乘 吧!怎麼樣,是不是覺得過於簡單了呢?哈哈,就讓我們再次回溫這道題,詳解它的編寫過程 從最初的構思到具體的設計,體會乙個腦海中的idea切切實實轉化為 的奇妙過程 下面進入正題 說明 本題我們暫時不 溢位問題,所以就拿 計算5的階乘 舉例 思路構想 計算...

python筆試題 計算n的階乘

計算n!例如n 3 計算3 2 1 6 求10!方法一 可以用python裡面的reduce函式,reduce 函式會對引數序列中元素進行累積 1.用lambda函式 from functools import reduce a 10 b reduce lambda x,y x y,range 1 ...

python計算6的階乘 python求n的階乘

階乘是基斯頓 卡曼 christian kramp,1760 1826 於1808年發明的運算符號,是數學術語。乙個正整數的階乘 factorial 是所有小於及等於該數的正整數的積,並且0的階乘為1。自然數n的階乘寫作n 下面我們來看一下使用python計算n的階乘的方法 第一種 利用functo...