在学习python的过程中,希望能以笔记的方式记录下每天所学的内容以及我认为的重点。因为学习也进行到一半,所以笔记是从中途开始记录的,希望以后能通过笔记记清楚之前的内容。
一、函数的递归
递归是python编程中思考问题的重要方式,其主要实现方式是在函数的定义中调用自身。递归有两个关键特征:
1.存在一个或多个基例,基例不需要再次递归,他是确定的表达式
2.所有递归链条要以一个或多个基例结尾
按照我自身的理解,首先要完成递归首先要定义一个函数,,然后在基例中构想参数等于零时的运行情况,然后再链条中设置递归方式。这里以阶乘计算为例
def fact(s): ##定义一个函数fact
if n == 0: ##从这里开始是基例
return 1
else: ##从这里开始是链条
return n*fact(n-1)
num=eval(input())
print(fact(abs(int(num))))
最简单的递归运算就可以这样实现,而递归的优势是在思考问题时不需要思考问题的具体解法,只需要顺序思考问题的本身的处理方法,这对于大型的抽象问题,很有帮助。