Turtle图形绘制:如何在绘制完每个图形后留出间距再绘制下一个图形
嘿,这个问题很好解决!只需要在每次绘制完一个图形后,让海龟抬笔移动到新位置,再落笔准备下一个图形,就能轻松留出间距啦。
图形间添加间距的实现方案
核心思路很简单:绘制完单个图形后,让海龟脱离当前图形区域,移动到指定方向的新位置,为下一个图形腾出空间。具体操作分三步:
- 绘制完成后调用
penup()抬起画笔(移动时不会留下轨迹) - 用
forward()或goto()移动到新位置 - 调用
pendown()放下画笔,准备绘制下一个图形
另外,你原代码里的i += 1是多余的——for i in range(numSides)会自动完成迭代,直接删掉就好。
修改后的完整代码
from turtle import * color('black','green') shape('turtle') pensize(5) speed(1) def makeShape(numSides): for i in range(numSides): forward(100) left(360.0/numSides) # 绘制完成后移动到新位置,留出间距 penup() # 抬起画笔,避免移动时留下线条 forward(150) # 向右移动150像素,数值可根据需求调整 pendown() # 放下画笔,准备绘制下一个图形 for i in range(3,13): makeShape(i) done() # 保持绘图窗口打开,避免程序结束后窗口立刻关闭
额外小技巧
- 如果想要更规整的排列,可以计算坐标后用
goto(x, y)定位,比如每次让x坐标增加固定值,y坐标保持不变 - 调整
forward(150)里的数值可以改变间距大小,数值越大,图形间的空隙就越宽
内容的提问来源于stack exchange,提问作者Nastaran Saberi
相关产品推荐
相关产品推荐

