python中几种实现阶乘的方法

  1. 普通的for循环实现阶乘
a = 1
n = 5
for i in range(1,n+1):
    a = a * i
print(a)

2.python中,用while循环语句,算阶乘

>>> def func(n):
	s=1
	while(n):
		s*=n
		n-=1
	return s

>>> func(3)
6

3.函数中用while实现阶乘

def main():
    count = int(input('你要求几的阶乘:'))
    res = 1

    while True:
        res = res * count
        count = count - 1
        if count == 1:
            break

    print(res)


if __name__ == '__main__':
    main()
  1. reduce函数实现阶乘
from functools import reduce
n = 5
print(reduce(lambda x,y:x*y,range(1,n+1)))

5.函数的递归实现

def factorial(n):
    if n == 0 or n == 1:
        return 1
    else:
        return (n*factorial(n-1))

a = factorial(5)
print(a)

参考:
https://blog.csdn.net/geerniya/article/details/77414427


版权声明:本文为hellenlee22原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。