python递归函数-作业

https://blog.csdn.net/weixin_43379056/article/details/86717780


写一个程序,可以计算输入数值的阶乘(也就是输入3就是123,输入4就是123*4)

这个递归函数我查了一下其实就是自己在函数中再次调用自己,
比如输入3,就是先把x定义成3,然后再进入一层再把x定义成2,
再进入一层把x定义成1,再进入一层把x定义成0,然后触发返回值
,返回到x = 1这层,从这层开始计算,然后把返回值返回到x = 2
那层再次计算,然后把返回值返回到x = 3那层再次计算,然后返回值

"""
1 定义递归函数
2 判断x是否到0,如果到了就返回1的那层,也就是上一层
3 计算递归的值
4 接收函数的返回值
5 打印结果

知识点
fact - 递归函数
"""


def fact(x):
    if x == 0:
        return 1
    print(x)
    return x * fact(x - 1)


x = int(input("请输入一个整数:"))

print(fact(x))
发布了8 篇原创文章 · 获赞 0 · 访问量 1367

猜你喜欢

转载自blog.csdn.net/qy00131717/article/details/104319584