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

  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值