首页 > 解决方案 > Python Turtle 嵌套方块 - 如何修复第二个方块额外移位?

问题描述

我已经开始学习 Python 并玩弄 Turtle 绘制各种形状。我决定画n个嵌套的正方形,得到了如下结果:

在此处输入图像描述

然而正如你所看到的,在第一次迭代之后,第二个方块的位置已经向左/下方向移动了太多。以下所有方块看起来都不错。我希望所有正方形彼此之间具有相同的偏移量。

我应该如何修改我的代码来解决这个问题?

def draw_squares(side_len, num_squares, side_increment):
    for i in range(num_squares):
        draw_polygon(4, side_len)
        pen.up()
        pen.setposition(x - side_len/2, y - side_len/2)
        pen.down()
        side_len += side_increment


side_length = 50
num_of_squares = 10
side_incr = 40

draw_squares(side_length, num_of_squares, side_incr)
turtle.done()

标签: pythonturtle-graphics

解决方案


我认为您的问题是第一个正方形从(0,0)开始。draw_polygon()您可以通过在调用函数之前设置位置来轻松纠正此问题。

def draw_squares(side_len, num_squares, side_increment):
    for i in range(num_squares):
        pen.up()
        pen.setposition(x - side_len/2, y - side_len/2)
        pen.down()
        draw_polygon(4, side_len)
        side_len += side_increment

如果这不能解决问题,请分享您的draw_polygon()功能。


推荐阅读