You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 11:17:46