详解用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多线程实例教程
Sep 06 Python
跟老齐学Python之坑爹的字符编码
Sep 28 Python
Python多线程同步Lock、RLock、Semaphore、Event实例
Nov 21 Python
python中模块查找的原理与方法详解
Aug 11 Python
解决Python获取字典dict中不存在的值时出错问题
Oct 17 Python
Python字符串的一些操作方法总结
Jun 10 Python
pybind11和numpy进行交互的方法
Jul 04 Python
python os模块常用的29种方法使用详解
Jun 02 Python
python中元组的用法整理
Jun 15 Python
Python识别处理照片中的条形码
Nov 16 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
Jan 07 Python
Python爬虫基础之初次使用scrapy爬虫实例
Jun 26 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/04 无线电
PHP 调试工具Debug Tools
2011/04/30 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
关于javaScript注册click事件传递参数的不成功问题
2014/07/18 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
理解jquery事件冒泡
2016/01/03 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
基于iScroll实现内容滚动效果
2018/03/21 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
基于python中的TCP及UDP(详解)
2017/11/06 Python
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
序列化Python对象的方法
2020/08/01 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
英国独特礼物想法和个性化礼物网站:notonthehighstreet.com
2018/04/16 全球购物
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
介绍一下结构化程序设计方法和面向对象程序设计方法的区别
2012/06/27 面试题
写给爸爸的道歉信
2014/01/15 职场文书
进步之星获奖感言
2014/02/22 职场文书
健康状况证明模板
2014/10/23 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
当幸福来敲门英文观后感
2015/06/01 职场文书
公司财务管理制度
2015/08/04 职场文书
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js