使用递归绘制正方形图案

时间:2018-09-24 03:19:33

标签: python recursion

到目前为止,这是我在导师的大力帮助下编写的代码。

def square(t, x, y, side):
    t.up()
    t.goto(x-side/2, y+side/2)
    t.down()
    for i in range(4):
        t.forward(side)
        t.right(90)

def squares(t, x, y, size, n):
    if n == 0:
        return
    if n >= 1: 
        square(t, x, y, size)

        half = size / 2
        squares(t, x - half, y + half, size / 2.2, n - 1)
        squares(t, x + half, y + half, size / 2.2, n - 1)
        squares(t, x + half, y - half, size / 2.2, n - 1)
        squares(t, x - half, y - half, size / 2.2, n - 1)


s = Screen()
t = Turtle()
t.pensize(2)
squares(t, 0, 0, 200, 3)
s.exitonclick()

因此,此程序将绘制一个正方形,每个点有4个正方形,每个点有4个正方形。这是在补习的1.5个小时内完成的,而我的男人由于家庭原因不得不离开,我无法独自完成。这是作业要的。

enter image description here

所以我想要的是一个正方形与一个正方形与一个正方形

1 个答案:

答案 0 :(得分:1)

我可以告诉您,您的补习课程很多...

只是改变

squares(t, 0, 0, 200, 3)

squares(t, 0, 0, 200, 5)