递归思想:函数+分支
递归链条:线段的组合
递归基例子:初始线段
绘制一段科赫曲线
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(800,400)
turtle.penup()
turtle.goto(-300,-50)
turtle.pendown()
turtle.pensize(2)
koch(600,3)#3阶科赫曲线,阶数
turtle.hideturtle()
main()
科赫雪花的绘制
修改main函数,绘制一段科赫曲线向右旋转120度后继续绘制
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()
结果如下