1. 再帰関数を使用してフラクタル ツリーを設計および描画してください。
import turtle p = turtle.Turtle () turtle.colormode(255) p.speed(0) r=0 g=0 b=0 length=120 size=14 p.home() p.penup() p.left(90) p.backward(length) p.pendown() p.pensize(size) p.forward(length) #随树枝生长颜色变化 def tree(l,lv): l*=3/4 size=p.pensize() p.pensize(size*3/4) global r,g,b r+=20 g+=40 b+=60 p.pencolor(r%256,g%256,b%256) #左边树枝运用递归画图 p.left(45) p.forward(l) if lv < 14: tree(l, lv + 1) #右边树枝运用递归画图 p.backward(l) p.right(90) p.forward(l) if lv < 14: tree(l, lv + 1) p.backward (l) p.left(45) p.pensize(size) tree(120,9) turtle.done()
凡例を実行します。
2. 雪の結晶の形を表現できるコッホ曲線を描いてください。
import turtle #定义函数实现科赫曲线绘画 def koch(t, n): if n < 5: t.fd(n) return m = n / 3 koch(t, m) t.lt(60) koch(t, m) t.rt(120) koch(t, m) t.lt(60) koch(t, m) #定义函数实现雪花 def snowflake(t, n): for i in range(3): koch(t, n) t.rt(120) bob = turtle.Turtle() bob.color('black') bob.penup() #提笔 bob.goto(-150,90) #去点 bob.pendown() #落笔 snowflake(bob, 300) #画雪花 turtle.speed(0)#设置绘画速度 turtle.mainloop()
凡例を実行します。