详解用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设计】。

相关文章

Python每天必学之bytes字节

Python中的字节码用b'xxx'的形式表示。x可以用字符表示,也可以用ASCII编码形式\xnn表示,nn从00-ff(十六进制)共256种字符。 一、基本操作 下面列举一下字节的基...

基于Python socket的端口扫描程序实例代码

本文研究的主要是Python的端口扫描程序,具体实例代码如下。 先来看看第一个端口扫描程序代码,获取本机的IP和端口号: import socket def get_my_ip...

对numpy下的轴交换transpose和swapaxes的示例解读

对numpy下的轴交换transpose和swapaxes的示例解读

如下所示: 解读: transpose( ) 方法的参数是一个 由 轴编号(轴编号自0 开始) 序列构成的 元组。 开始时,数组的轴编号序列是默认从 0开始的 :0,1,2,, 坐标...

Linux中安装Python的交互式解释器IPython的教程

IPython是Python的交互式Shell,提供了代码自动补完,自动缩进,高亮显示,执行Shell命令等非常有用的特性。特别是它的代码补完功能,例如:在输入zlib.之后按下Tab键...

python itchat实现调用微信接口的第三方模块方法

itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。 使用不到三十行的代码,你就可以完成一个能够处理所有信息的微信机器人。 当然,该api的使用远不止一个机器人...