采用函数递归的方法实现雪花的绘制
在函数递归的设计中,考虑
递归思想:函数 + 分支
递归链条: 线段的组合
递归基例: 初始线段
在科赫雪花绘制中,基例是当阶数为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()