N的阶乘
定义一个函数,根据传入的数字,计算该数字阶乘的结果。

n的阶乘公式:f(n) = n * f(n-1)
python
#(错误编程案例)
# 案例1:计算n的阶乘
# 递归调用:指的是在函数中自己调用自己的情况
def jc(n):
return n * jc(n - 1)
result = jc(10)
print(result)
"""
RecursionError: maximum recursion depth exceeded
递归错误:超出了最大的递归深度(递归调用自己的次数太多了)。
这个程序走到n-1=0,n=0, n=-1还会继续下去,没有终结。
"""
python
# 案例1:计算n的阶乘
# 递归调用(先层层递进,再逐层回归):指的是在函数中自己调用自己的情况 --->一定得有终结点(如果没有终结点,会一直循环陷入死循环而报错)
"""
jc(10) = 10 * jc(9)
jc(9) = 9 * jc(8)
jc(8) = 8 * jc(7) # ctrl+D快速复制
......
jc(1) = 1
先层层递进,找到终结点,再逐层回归
"""
def jc(n):
if n == 1:
return 1
else:
return n * jc(n - 1)
result = jc(10)
print(result) # 3628800
**声明:**本篇学习笔记参考黑马程序员相关课程,部分素材来源于网络公开资料及本人补充;文中为个人整理复盘,仅供学习交流使用。