Python计算阶乘
第一次写博客,请多多指教
五种方法计算阶乘方法如下:
1.利用循环,如下代码演示
def main(num):a=1for i in range(1,num+1):a*=ireturn aprint(main(10))
执行结果如下:
2.导入functools中的reduce模块
from functools import reduce
def main(num):print("方法二:导入functools中的reduce")return reduce(lambda x,y:x*y,range(1,num+1))print(main(10))
执行结果如下:
3.导入math库,使用math库的factorial方法
import math
def main(num):return math.factorial(num)print(main(5))
执行结果如下:
4.使用递归函数
def main(num):def factorial(n):if n==1:return 1else:return factorial(n-1)*nreturn factorial(num)print(main(5))
执行结果如下:
5.使用eval适配表达式
def main(num):return eval('*'.join(map(str,range(1,num+1))))print(main(5))
执行结果如下:
欢迎大家指正错误,多多关照。