求教,这段python代码输出结果为什么不是1呢?
求教,这段python代码输出结果为什么不是1呢?我是这么理解的:假如n=3,factorial(3-1),调用自己,那么此时函数的参数变为n=2,继续代入,factor...
求教,这段python代码输出结果为什么不是1呢?我是这么理解的:假如n=3,factorial(3-1),调用自己,那么此时函数的参数变为n=2,继续代入,factorial(2-1),调用自己开始下一次循环,此时函数的参数变为n=1。这时根据if语句,那么就应该return 1才对,代码结束,结果返回1。所以最后print的结果应该是1才对。我知道else的内容是计算阶乘,只是不清楚最后的结果为什么要取阶乘的值,而不是取1,因为整段函数最后一次返回值是1啊。我觉得不管输入什么正整数,最好都要return 1,程序最后的打印结果必然是1。求教~~~(这段代码是显示某个正整数的阶乘)
展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询