码迷,mamicode.com
首页 > 其他好文 > 详细

DAY 004--递归求某数的阶乘

时间:2018-04-08 00:21:36      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:代码分析   ==   返回   数字   input   知识点   put   factor   span   

004-- 用递归求解某数的阶乘

n的阶乘:n(n-1)(n-2)(n-3)****1

 

流程分析:                                                                            

1、输入某个数字n,计算该数字的阶乘:n!

2、递归求阶乘函数,参数为n:

  2.1、判断数字是否等于1,如果等于1 ,函数返回1

  2.2、如果函数不返回1,则函数返回n*fun(n-1),以此递归

 

代码分析:                                                                            

 

def factorial(n):
    if n==1:
        return 1
    return n*factorial(n-1)

def main():
    n=input("请输入数字的阶乘:")
    if n.isdigit():
        n=int(n)
        print("%d的阶乘为%d"%(n,factorial(n)))
    else:
        print("输入的值非数字!")

if __name__=="__main__":
    main()

 

 

题目反思 :                                                                            

1、这算是我第一次做递归题把,虽然题目很简单,但是这个方法并不是我自己想到的,而是百度搜索的,很羞耻。

2、递归其实就是函数满足某个条件后,运行本身函数,直到不满足条件为止(个人理解,不对还望改正)

 

新学知识点:                                                                          

1、阶乘的函数编写,运用递归的思维

2、初步了解递归的用法

 

Mark on 2018.04.07

DAY 004--递归求某数的阶乘

标签:代码分析   ==   返回   数字   input   知识点   put   factor   span   

原文地址:https://www.cnblogs.com/JunSheep/p/8735335.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!