python初学者笔记(八)——数字阶乘

#python初学者笔记(8)------数字阶乘

阶乘是基斯顿·卡曼于 1808 年发明的运算符号,是数学术语,一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积。

下面利用Python编写数字阶乘

##1.方法一:利用函数的方法,求输入值的阶乘

python 复制代码
#coding=utf-8
def get_jiecheng(number):
    result = 1
    while number > 0:
        result *= number
        number -= 1
    return result
print("阶乘6=",get_jiecheng(6))
print("阶乘7=",get_jiecheng(7))

##1.方法二:利用for循环,求阶乘

python 复制代码
#coding=utf-8
#普通的循环
x = 1
y = int(input("请输入要计算的数:"))
for i in range(1, y + 1):
  x = x * i
print(x)
#请输入要计算的数:8

##1.方法三:利用functools模块求阶乘

python 复制代码
import functools
result = (lambda k: functools.reduce(int.__mul__, range(1, k + 1), 1))(10)
print(result)
结果如下:
3628800
相关推荐
M78佐菲2 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
恋恋西风2 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx2 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
噜~噜~噜~3 小时前
操作系统笔记-2.3.5.1.1生产者-消费者问题
笔记·操作系统
BizzZ_3 小时前
C++(22)——类型转换和IO流
开发语言·c++
yi.Ist3 小时前
数据定义语言-DDL操作
数据库·学习·mysql·oracle·大海豚
小范同学_3 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu4 小时前
CSharp: 万年历
开发语言·后端·c#·.net
傲笑风4 小时前
【openvino】tinybert基于openvino服务化部署(四)
人工智能·python·自然语言处理·nlp·bert·openvino
我找到地球的支点啦4 小时前
Matlab系列(009) 一CRC循环冗余校验详解
开发语言·数据结构·算法·matlab·信息与通信