第十一篇:使用Python来计算从1到n每个数相乘的结果

89 阅读1分钟

Python小案例

一、前置内容

一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的。用递归过程定义的函数,称为递归函数,例如连加、连乘及阶乘等。凡是递归的函数,都是可计算的,即能行的 [1]。

古典递归函数,是一种定义在自然数集合上的函数,它的未知值往往要通过有限次运算回归到已知值来求出,故称为“递归”。它是古典递归函数论的研究对象 [1]

1.1、函数递归的理解

image.png

image.png

1.2、函数递归的调用过程

递归的实现

image.png

递归的调用

image.png

二、案例需求

计算从1到n每个数相乘的结果。公式:1234......*n的结果。

输入: 10
输出: 从1到10相乘的结果是:3628800

三、案例分析与解决过程

1、怎么设计从1到10的相乘算法?
答案:首先需要判断结束节点 , 结束节点在如果n = 0 返回1

四、完整代码

def fn(n) :  
if(n==0):  
return 1  
  
return n * fn(n-1)  
  
  
  
n = input("请输入数字!\n")  
  
number =eval(n);  
  
print("从1到{}相乘的结果是:{}".format(number , fn(number)))

五、检验与验收代码

image.png

image.png

image.png

六、复盘所学知识

1、了解递归的基本概念,不断去调用自己,并且设置一个结束点