python计算阶乘的两个函数用法

目录
  • 计算阶乘的两个函数用法
    • 1.reduce()
    • 2.factorial()
  • 计算阶乘的5种方法
    • 1.利用循环,如下代码演示
    • 2.导入functools中的reduce模块
    • 3.导入math库,使用math库的factorial方法
    • 4.使用递归函数
    • 5.使用eval适配表达式

计算阶乘的两个函数用法

1.reduce()

#从functools中调用reduce()函数
from functools import reduce
#使用lambda,匿名函数,迭代
num = reduce(lambda x,y:x*y,range(1,n))  # 计算n的阶乘
print(num)

2.factorial()

import math
value = math.factorial(n)  # 计算n的阶乘
print(value)

计算阶乘的5种方法

1.利用循环,如下代码演示

def main(num):
    a=1
    for i in range(1,num+1):
        a*=i
    return a
print(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 1
        else:
            return factorial(n-1)*n
    return factorial(num)
print(main(5))

执行结果如下:

5.使用eval适配表达式

def main(num):
	return eval('*'.join(map(str,range(1,num+1))))
print(main(5))

执行结果如下:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python 怎么定义计算N的阶乘的函数

    定义计算N的阶乘的函数 1)使用循环计算阶乘 def frac(n): r = 1 if n<=1: if n==0 or n==1: return 1 else: print('n 不能小于0') else: for i in range(1, n+1): r *= i return r print(frac(5)) print(frac(6)) print(frac(7)) 120 720 5040 2)使用递归计算阶乘 def frac(n): if n<=1: if n==0 or n

  • python3 将阶乘改成函数形式进行调用的操作

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

  • python递归函数求n的阶乘,优缺点及递归次数设置方式

    递归函数两大特点: 1.能够调用函数自身 2.至少有一个出口(结束函数自身调用) 函数实现: def calnum(num): if num != 1: # 递归调用自身函数 csum = num * calnum(num - 1) else: # 设置递归出口 csum = 1 return csum ret = calnum(5) print(ret) 递归函数的缺点: 占用资源多,一般不会优先选择. 一个程序中python默认只允许调用自身1024次,超过这个次数, python解释器会认

  • python计算阶乘的两个函数用法

    目录 计算阶乘的两个函数用法 1.reduce() 2.factorial() 计算阶乘的5种方法 1.利用循环,如下代码演示 2.导入functools中的reduce模块 3.导入math库,使用math库的factorial方法 4.使用递归函数 5.使用eval适配表达式 计算阶乘的两个函数用法 1.reduce() #从functools中调用reduce()函数 from functools import reduce #使用lambda,匿名函数,迭代 num = reduce(l

  • Python基础学习之时间转换函数用法详解

    本文实例讲述了Python基础学习之时间转换函数用法.分享给大家供大家参考,具体如下: 前言 python的时间格式分为多种,几种格式之间的转换方法时常是我们遇到的而且是经常忘记的点,python不像php,时间字符串和datetime是一起的,只需要strtotime和date函数就可以相互转化.虽然网上已经有很多python时间转换的文章,但是由于作者本人经常做海外业务,需要各种时区之间的转换,所以这篇文章会对按时区转换各种时间格式做一个总结. 转换方法图示(图片转自网络): 一.字符串转时

  • Python中pow()和math.pow()函数用法示例

    本文实例讲述了Python中pow()和math.pow()函数用法.分享给大家供大家参考,具体如下: 1. 内置函数pow() >>> help(pow) Help on built-in function pow in module __builtin__: pow(...) pow(x, y[, z]) -> number With two arguments, equivalent to x**y. With three arguments, equivalent to (

  • 在Python 中同一个类两个函数间变量的调用方法

    如下所示: class A(): def test_a(self): self.m ="hello" def test_b(self): self.test_a() n=self.m + "world" print(n) if __name__ == '__main__': A().test_b() 运行结果: 以上这篇在Python 中同一个类两个函数间变量的调用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python计算阶乘和的方法(1!+2!+3!+...+n!)

    方法一:使用while循环来计算 n = int(input()) jie = 1 sum = 0 i = 1 while n >= i: jie = jie * i sum = sum + jie i = i + 1 print(sum) 方法二:使用递归函数调用阶乘方法求和(其中n的值在1~40之间) def jie(n): if n == 1: return 1 else: return n*jie(n-1) n = int(input()) sum = 0 if n < 1 or n

  • python处理emoji表情(两个函数解决两者之间的联系)

    还记得曾经被"滑稽"刷屏的场景吗? 在这个各种表情包横行的时代,emoji表情还能依然占据一定的地位! 这篇文章将带你了解一下,python与emoji之间的会有怎样的联系 emoji库的官方文档:传送门 一.emoji库的安装 pip install emoji 二.函数的作用 emoji库主要有两个函数: emojize():根据code生成emoji表情 demojize():将emoji表情解码为code code与表情的对照表:传送门 1.emojize() 在应用时,需要将

  • Python range、enumerate和zip函数用法详解

    前言 range函数可创建一个整数列表. 如果需要知道当前元素在列表中的索引,推荐用enumerate代替range. zip函数用于同时遍历多个迭代器. 一.range 函数 range函数可创建一个整数列表,一般用在 for 循环中. 语法: range([start,] stop[, step]) 参数: start: 计数从 start 开始.默认是从 0 开始.例如range(5)等价于range(0,5); stop: 计数到 stop 结束,但不包括 stop.例如:range(0

  • 详解用python计算阶乘的几种方法

    第一种:利用functools 工具处理 import functools result = (lambda k: functools.reduce(int.__mul__, range(1, k + 1), 1))(5) print(result) 第二种:普通的循环 x = 1 y = int(input("请输入要计算的数:")) for i in range(1, y + 1): x = x * i print(x) 第三种:利用递归的方式 def func(n): if n

  • 详解JS中的compose函数和pipe函数用法

    compose函数 compose函数可以将需要嵌套执行的函数平铺,嵌套执行就是一个函数的返回值将作为另一个函数的参数.我们考虑一个简单的需求:这个需求很简单,直接一个计算函数就行: const calculate = x => (x + 10) * 10; let res = calculate(10); console.log(res); // 200 但是根据我们之前讲的函数式编程,我们可以将复杂的几个步骤拆成几个简单的可复用的简单步骤,于是我们拆出了一个加法函数和一个乘法函数: cons

  • python科学计算之numpy——ufunc函数用法

    写在前面 ufunc是universal function的缩写,意思是这些函数能够作用于narray对象的每一个元素上,而不是针对narray对象操作,numpy提供了大量的ufunc的函数.这些函数在对narray进行运算的速度比使用循环或者列表推导式要快很多,但请注意,在对单个数值进行运算时,python提供的运算要比numpy效率高. 四则运算 numpy提供的四则ufunc有如下一些: numpy提供的四则运算unfunc能够大大的提高计算效率,但如果运算式复杂,且参与运算的narra

随机推荐