【问题标题】:Drawing in turtle graphics绘制海龟图形
【发布时间】:2016-01-05 14:16:53
【问题描述】:

我正在尝试将文件解析为列表,然后使用海龟图形绘制列表中的形状。我设法解析文件并将其作为列表成功返回,但是,当我尝试使用海龟图形在文件中绘制形状时出现错误。代码如下:

list_of_shapes = parser.parse(local_file_name) # this will parse the file into a list
drawer = Turtle_Draw_Shape_Controller()
drawer.draw_shapes(list_of_shapes)

一旦我尝试使用海龟图形来绘制图片,我就会收到以下错误:

Traceback (most recent call last):
  File "/Volumes/shapes.py, line 206, in <module>
    drawer.draw_shapes(list_of_shapes)
  File "/Volumes/shapes.py", line 184, in draw_shapes
    shape_type = shape.get_shape_type()
AttributeError: 'tuple' object has no attribute 'get_shape_type'

【问题讨论】:

    标签: python list turtle-graphics


    【解决方案1】:

    您的形状解析器函数正在向shapes_list 添加元组,例如:

    shapes_list.append(("c",cir))
    

    然后您尝试将它们直接用作形状。要么将解析器更改为仅附加形状本身:shapes_list.append(cir),要么在您的 draw 方法中使用之前从元组中解压缩形状对象:

    for shape_type, shape in shapes:
    

    如果每个形状对象已经有一个get_shape_type 方法,我不知道你为什么要从外部附加类型。

    【讨论】:

    • 我将所有形状的代码更改为shapes_list.append(cir),但它给了我这个错误“AttributeError: 'list' object has no attribute 'get_shape_type'” 我留下的其他一切都一样。
    • 基本调试提示:在出现错误之前尝试print shape,看看那里有什么。它应该是一个形状,而不是一个列表,否则还有其他问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 2018-05-30
    相关资源
    最近更新 更多