Python实现阶乘的四种写法
更新时间:2025年01月17日 09:32:44 作者:Python热爱者
本文主要介绍了Python实现阶乘的六种写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
阶乘–>>数学用n! = n*(n-1)(n-2)(n-3)…321,0的阶乘也是1,本人无法演绎,只能简单的从1开始
第一种:推导式+循环遍历列表内每个元素相乘
def factorial(n):
li =[i for i in range(1,n+1)] #li = [1,2,3,4] 推导式,形成一个列表,从1开始至n+1结束(左闭右开,n须+1)
a = 1 # a = 1开始计算,如果从0开始,0×任何整数都为0,对此题无太大意义
for i in li: # 遍历列表内元素,循环需要遍历完才会进行下一步
a = a *i # =左边的a为右边相乘的赋值,第一次=右边为1*1 则a =1,第二次=右边为1*2则=左边a=2,第三次=右边为2*3则=左边a=6,.......
return a
print(factorial(4))
第二种:调用functools模块reduce的累计算
from functools import reduce #reduce 累计算,格式为reduce(函数,序列)序列:array 列表、元组、字典
def factorial(n):
li = [i for i in range(1,n+1)] #同第一种推导式,形成列表
return reduce((lambda x,y:x*y),li) # 匿名函数lambda
print(factorial(4))
第三种:递归
def factorial(n):
if n <=1:
return 1
return n*factorial(n-1)
print(factorial(5))
第四种:模块numpy中的prod
import numpy
def func(n):
Array = [i for i in range(1,n+1)]
return numpy.prod(Array)
print(func(1))到此这篇关于Python实现阶乘的六种写法的文章就介绍到这了,更多相关Python 阶乘内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python 微信之获取好友昵称并制作wordcloud的实例
今天小编就为大家分享一篇Python 微信之获取好友昵称并制作wordcloud的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-02-02
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
这篇文章主要介绍了python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法,需要的朋友可以参考下2020-02-02
Python利用Rasa框架和SMTPlib库实现邮件回复助手
在现代办公场景中,处理大量邮件是一项既耗时又容易出错的任务,本文将详细介绍如何使用Python的Rasa框架和SMTPlib库建一个智能的邮件自动回复助手,感兴趣的可以了解下2025-04-04


最新评论