python将阶乘改成函数形式进行调用

义一个函数,求一个数的阶乘,比如求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)))


居然没有格式刷!编辑起来不爽!


猜你喜欢

转载自blog.csdn.net/jn10010537/article/details/80307168