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

用turtle构建强化学习环境遇形状异常,求解决方案

问题排查与解决方法

一眼就能找到问题啦:你预期屏幕上只显示两台机器(白色正方形),但实际上你的代码除了machine1和machine2这两个机器对象外,还额外创建了4个turtle.Turtle()实例——对应两台机器的取货点(蓝色三角形)和送货点(绿色三角形),这些对象默认都会在屏幕上渲染出形状,所以就出现了你看到的“多余形状”。

具体解决步骤:

  • 如果暂时不需要这些取货/送货点:直接删除pickup_m1、delivery_m1、pickup_m2、delivery_m2对应的全部代码块即可,这样屏幕上就只会显示两台白色的机器正方形。
  • 如果后续需要用到这些点但现在不想显示:可以在每个取货/送货点的turtle定义末尾添加hideturtle()方法,隐藏这些形状,示例如下:
# pickup point for machine 1
pickup_m1 = turtle.Turtle()
pickup_m1.shape('triangle')
pickup_m1.speed(0)
pickup_m1.shapesize(stretch_wid=1, stretch_len=1)
pickup_m1.penup()
pickup_m1.color('blue')
pickup_m1.goto(-140, -30)
pickup_m1.tilt(180)
pickup_m1.hideturtle()  # 隐藏该形状

额外优化建议:

你创建机器的代码重复度很高,可以封装成一个函数来减少冗余,后续修改属性或添加机器时会更方便:

def create_machine(x, y):
    machine = turtle.Turtle()
    machine.shape('square')
    machine.speed(0)
    machine.shapesize(stretch_wid=5, stretch_len=5)
    machine.penup()
    machine.color('white')
    machine.goto(x, y)
    return machine

# 创建两台机器
machine1 = create_machine(-100, 0)
machine2 = create_machine(100, 0)

内容的提问来源于stack exchange,提问作者CHIBOUB Amine

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 10:25:44