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

yipeiwu_com6年前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 == 0 or n == 1:
    return 1
  else:
    return (n * func(n - 1))


a = func(5)
print(a)

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

希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

对python3 sort sorted 函数的应用详解

python3 sorted取消了对cmp的支持。 python3 帮助文档: sorted(iterable,key=None,reverse=False) key接受一个函数,...

Python利用字典破解WIFI密码的方法

最近看到网上的一些作品,然后进行一些完善。只是用于学习,不要去干坏事哦。程序来源于网,我只是做了一些优化。当然这种方法破解还是有点慢哦。我用的python 3.6.5 既然要破解wifi...

对python GUI实现完美进度条的示例详解

对python GUI实现完美进度条的示例详解

在用python做一个GUI界面时,想搞一个进度条实时显示下载进度,但查阅很多博客,最后的显示效果都类似下面这种: 这种效果在CMD界面看着还可以,但放到图形界面时就有点丑了,所以我用...

Python获取SQLite查询结果表列名的方法

本文实例讲述了Python获取SQLite查询结果表列名的方法。分享给大家供大家参考,具体如下: 获得查询结果表的列名: db = sqlite.connect('data.db')...

举例讲解Python常用模块

datetime 日期时间类,主要熟悉API,时区的概念与语言无关。 from datetime import datetime as dt dt.utcnow() # 系统UTC时...