pythonは階乗を関数形式に変更して呼び出す


関数を定義して、1つの数の階乗を求めて、例えば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):
    '        ,  5!'
    sum=1
    for i in range(1,num+1):
        sum=sum*i  #    sum*=i
    return sum
func(5)
print(func(5))#  120
 
  

# 方法3,lambda表达式写。

#lambda不能调用数组,如列表。# 这里需要借助一个函数去做(这个函数调用了lambda表达式作为参数,即需要使用高阶函数reduce#使用高阶函数,需要调用一个模块# 将阶乘改成函数形式进行调用functools

from functools import reduce

print(reduce(lambda x,y:x*y,range(1,6)))


       !      !