科赫雪花绘制

采用函数递归的方法实现雪花的绘制

在函数递归的设计中,考虑

递归思想:函数 + 分支

递归链条: 线段的组合

递归基例: 初始线段

在科赫雪花绘制中,基例是当阶数为0时,无需进行线段的突起操作,直接画一条直线

科赫雪花绘制

采用if else 分支语句,if考虑基例情况, else 考虑在 n情况下, n-1情况的代码设计,这就是函数递归的设计思想。

代码实现:

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    #3阶科赫曲线
    koch(400, level)
    turtle.right(120)
    koch(400, level)
    turtle.right(120)
    koch(400, level)
    turtle.right(120)
    turtle.hideturtle()  #隐藏turtle画笔
    turtle.done()   #让运行结果停留
main()

 

相关文章: