赞
踩
import turtle as t
:
导入turtle模块,并将其重命名为t
,以便于使用。
def kohe(n, size)
定义了一个名为kohe
的函数,接受两个参数:n
表示阶数或迭代级别,size
表示要绘制的线段长度。
if n == 0:
检查当前迭代级别n
是否等于零,这表示递归函数的基本情况或停止条件。
t.fd(size)
如果达到基本情况,乌龟向前移动size
个单位,绘制一条线段。
for angle in [0, 60, -120, 60]
迭代一个角度列表[0, 60, -120, 60]
。
t.left(angle)
将乌龟左转当前角度。
kohe(n-1, size/3)
以更新的迭代级别n-1
和减小的长度size/3
递归调用kohe
函数。
def main()
定义了一个名为main
的函数,作为程序的入口点。
t.setup(800, 800)
设置turtle窗口的宽度为800像素,高度为800像素。
t.penup()
抬起画笔,使乌龟移动时不绘制任何线段。
t.goto(-300, -50)
将乌龟移动到指定的坐标(-300,-50),而不绘制任何线段。
t.pendown()
放下画笔,使乌龟移动时绘制线段。
kohe(3, 600)
调用kohe
函数,初始迭代级别为3,线段长度为600个单位。这将绘制一个阶数为3的科赫雪花。
t.done()
:
结束turtle图形程序。
t.hideturtle()
隐藏屏幕上的乌龟光标。
main()
调用main
函数开始程序执行。
全部代码:
- import turtle as t
-
- # n:绘制的阶数 size:绘制线段的长度
- def kohe(n,size):
- #基例 链条
- if n == 0:
- t.fd(size)
- else:
- for angle in [0,60,-120,60]:
- t.left(angle)
- kohe(n-1,size/3)
- def main():
- t.setup(800,800)
- t.penup()
- t.goto(-300,-50)
- t.pendown()
-
- kohe(3,600)
- t.done()
- t.hideturtle()
-
- main()

接下来完成雪花的实现:
- import turtle as t
-
- # n:绘制的阶数 size:绘制线段的长度
- def kohe(n,size):
- #基例 链条
- if n == 0:
- t.fd(size)
- else:
- for angle in [0,60,-120,60]:
- t.left(angle)
- kohe(n-1,size/3)
- def main():
- t.setup(800,800)
- t.penup()
- t.goto(-200,100)
- t.pendown()
- t.speed(1000)
-
- kohe(3,400)
- t.right(120)
- kohe(3, 400)
- t.right(120)
- kohe(3, 400)
- t.right(120)
- t.hideturtle()
- t.done()
-
- main()

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。