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

 更新时间:2021年03月12日 09:08:05   作者:jn10010537  
这篇文章主要介绍了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

# 方法3,lambda表达式写

#lambda不能调用数组,如列表。

# 这里需要借助一个函数去做(这个函数调用了lambda表达式作为参数,即需要使用高阶函数reduce#使用高阶函数,需要调用一个模块# 将阶乘改成函数形式进行调用functools

from functools import reduce
print(reduce(lambda x,y:x*y,range(1,6)))

补充:Python极少代码实现阶乘函数

from functools import reduce
def my_factorial(x):
  if x < 0:
    raise ValueError('参数不能为负数')
  return reduce(lambda x, y: x*y, range(1, x+1)) if x != 0 else 1

运行结果:

>>> for i in range(10):
...   print(my_factorial(i), end=' ')
>>> 1 1 2 6 24 120 720 5040 40320 362880

用好lambda、reduce、filter、map等可以很方便地定义函数。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Python中NumPy的数组重塑

    Python中NumPy的数组重塑

    这篇文章主要介绍了Python中NumPy的数组重塑,Numpy是Python科学计算库,用于快速处理任意维度的数组,NumPy使用c语言写的,底部解除了GIL,其对数组的操作速度不在受python解释器限制<BR>
    2023-07-07
  • Django框架模板介绍

    Django框架模板介绍

    今天小编就为大家分享一篇关于Django框架模板介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • python 调制解调的实现

    python 调制解调的实现

    在Python中,可以使用SciPy和NumPy库来处理信号,包括进行FM信号的解调,本文主要介绍了python 调制解调的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • python设计并实现平面点类Point的源代码

    python设计并实现平面点类Point的源代码

    这篇文章主要介绍了python-设计并实现平面点类Point,定义一个平面点类Point,对其重载运算符关系运算符,关系运算以距离坐标原点的远近作为基准,需要的朋友可以参考下
    2024-05-05
  • Python基于百度云文字识别API

    Python基于百度云文字识别API

    这篇文章主要介绍了Python基于百度云文字识别API,用Python实现最简单的文字识别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • 如何利用Python合并两张图片

    如何利用Python合并两张图片

    在Python中可以使用PIL库(Python Imaging Library)来合并两张图片,这篇文章主要给大家介绍了关于如何利用Python合并两张图片的相关资料,文中给了详细的代码示例,需要的朋友可以参考下
    2024-03-03
  • 详解Python如何批量采集京东商品数据流程

    详解Python如何批量采集京东商品数据流程

    这不快过年了,又是要买年货,又是要给女朋友买礼物的,分析一下价格,看看哪些是真的降价了
    2022-01-01
  • python学习笔记之调用eval函数出现invalid syntax错误问题

    python学习笔记之调用eval函数出现invalid syntax错误问题

    python是一门多种用途的编程语言,时常扮演脚本语言的角色。一般来说,python可以定义为面向对象的脚本语言,这个定义把面向对象的支持和面向脚本语言的角色融合在一起。很多时候,人们常常喜欢用“脚本”和不是语言来描述python的代码文件。
    2015-10-10
  • Python能干什么、Python主要应用于哪些方面

    Python能干什么、Python主要应用于哪些方面

    无论是从入门级选手到专业级选手都在做的爬虫,还是Web程序开发、桌面程序开发还是科学计算、图像处理, Python都可以胜任。Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、 数据库、文本等大量内容。用Python开发,许多功能不必从零编写
    2023-06-06
  • Django商城项目注册功能的实现

    Django商城项目注册功能的实现

    注册功能是网页项目必备的需求,本文提供了一个Django项目实现注册功能的示例,有此需求的同学可以参考下
    2021-06-06

最新评论