十、函数递归

一、函数递归的理解

函数递归可以理解为数学中的归纳法,首先证明当 x=h0 时函数成立,然后证明当 x=hk时函数成立,当 x=hk+1时也成立,从而形成多米诺骨牌效应,函数的递归实质是函数的自我调用。

在这里插入图片描述在这里插入图片描述

二、实例

1.阶乘的计算

def fact(n): #阶乘的计算
    if n == 0:
        return 1
    else:
        return n*fact(n-1)
a = fact(3)
print(a)

2.字符反转

def rvs(s):#字符反转
    if s == '':
        return s
    else:
        return rvs(s[1:]) + s[0]
print(rvs('123'))

3.科赫雪花

import turtle
def koch(size, n):
    if n == 0:
        turtle.fd(size)
    else:
        for angle in [0,60,-120,60]:
            turtle.left(angle)
            koch(size/3, n-1)
def main():
    turtle.setup(600,600)
    turtle.penup()
    turtle.goto(-200, 100)
    turtle.pendown()
    turtle.pensize(2)
    level = 3 #三阶科赫雪花
    koch(400, level)
    turtle.right(120)
    koch(400, level)
    turtle.right(120)
    koch(400,level)
    turtle.hideturtle()
    turtle.done()
main()

在这里插入图片描述

发布了40 篇原创文章 · 获赞 0 · 访问量 711

猜你喜欢

转载自blog.csdn.net/qq_43280851/article/details/104065949