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))