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,a+1))
print(b)
# 2.自定义一个函数
from functools import reduce
def chengfa(x,y):
    return x*y
a = 10
b = reduce(chengfa,range(1,a+1))
print(b)

# 方法二:自己写个递归函数
def digui(n):
    if n == 1:
        return 1
    else:
        return n*digui(n-1)
a = 10
print(digui(a))

# 方法三:用for循环(不推荐)
a = 10
s = 1
for i in range(1,a+1):
    s = s*i
print(s)
发布了33 篇原创文章 · 获赞 0 · 访问量 944

猜你喜欢

转载自blog.csdn.net/nickyff/article/details/104401580