#DrawKoch.py
import turtle
def koch(size,n):
if n == 0:
turtle.fd(size) #一阶直线作基例
else:
for angle in [0, 60,-120,60]: # 遍历循环曲线角度,每一阶直线都一分为4,呈现角度变化
turtle.left(angle)
koch(size/3,n-1) #调用koch()自身实现递归
def main():
turtle.setup(800, 800)
turtle.speed(0) # 控制绘制速度,赋值0最快
turtle.Turtle().screen.delay(0) #取消画布绘图延迟
turtle.penup()
turtle.goto(-300,150)
turtle.pendown()
turtle.pencolor('blue') #修改画笔颜色
turtle.pensize(1)
for i in range(3): #koch函数只是绘制了一条科赫曲线,3条曲线构成科赫雪花,可以更改为其他边数,需要相应修改画笔角度
koch(600,4) #零阶科赫曲线长度400,阶数为4阶
turtle.right(120)
turtle.hideturtle()
main()
效果如下: