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


Posted in Python onAugust 14, 2019

第一种:利用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 == 0 or n == 1:
    return 1
  else:
    return (n * func(n - 1))


a = func(5)
print(a)

以上三种方式分别采用了不同的方法,第二种是最容易理解的,第一种是最pythonic的,而第三种则是易用性最高的。第三种直接定义一个阶乘函数,随时都可以调用,从而得到不同值。

希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 参数列表中的self 显式不等于冗余
Dec 01 Python
Python的一些用法分享
Oct 07 Python
python使用urlparse分析网址中域名的方法
Apr 15 Python
python去除文件中重复的行实例
Jun 29 Python
python爬虫框架scrapy实现模拟登录操作示例
Aug 02 Python
python读取ini配置的类封装代码实例
Jan 08 Python
pytorch实现对输入超过三通道的数据进行训练
Jan 15 Python
python3让print输出不换行的方法
Aug 24 Python
python logging模块的使用详解
Oct 23 Python
Python实现石头剪刀布游戏
Jan 20 Python
Python离线安装openpyxl模块的步骤
Mar 30 Python
Python turtle编写简单的球类小游戏
Mar 31 Python
Python使用scrapy爬取阳光热线问政平台过程解析
Aug 14 #Python
用Python抢火车票的简单小程序实现解析
Aug 14 #Python
Python定时任务随机时间执行的实现方法
Aug 14 #Python
查看Python依赖包及其版本号信息的方法
Aug 13 #Python
使用python实现unix2dos和dos2unix命令的例子
Aug 13 #Python
Python编写带选项的命令行程序方法
Aug 13 #Python
使用python模拟命令行终端的示例
Aug 13 #Python
You might like
第一个无线电台是由谁发明的
2021/03/01 无线电
PHP 时间转换Unix时间戳代码
2010/01/22 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
Zend Framework处理Json数据方法详解
2016/12/09 PHP
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
2017/01/21 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
vue前后分离调起微信支付
2019/07/29 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
javascript设计模式之迭代器模式
2020/01/30 Javascript
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
如何高效率的查找一个月以内的数据
2012/04/15 面试题
物流仓储实习自我鉴定
2013/09/25 职场文书
品管员岗位职责
2013/11/10 职场文书
建筑工程管理专业自荐信范文
2013/12/28 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
大型会议接待方案
2014/03/01 职场文书
我们的节日清明节活动方案
2014/03/05 职场文书
酒鬼酒广告词
2014/03/21 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
大学生就业自荐书
2014/06/16 职场文书
CSS实现五种常用的2D转换
2021/12/06 HTML / CSS
青岛市的收音机研制与生产
2022/04/07 无线电
MySQL三种方式实现递归查询
2022/04/18 MySQL