Python3: Distance between rectangles keep changing

Viewed 123

Creating rectangles with equal distance between them but with random heights and widths. However the distance between them is not fixed and changes.

    import TurtleHelper
    import turtle
    import random as rd


    def drawRectangle(myTurtle, width, height): 
        for i in range(2):
            myTurtle.fd(width)
            myTurtle.left(90)
            myTurtle.fd(height)
            myTurtle.left(90)

    def drawRectangleagain(myTurtle):       
        myTurtle.up()
        myTurtle.forward(100)
        myTurtle.down()





def main():
    window=TurtleHelper.initWindow()
    t=turtle.Turtle()
    t.pencolor("blue")



    for i in range(3):
        drawRectangle(t,rd.randint(20, 60), rd.randint(20, 110))
        drawRectangleagain(t)


    window.exitonclick()
main()
1 Answers

Rectangle ABCD

You're starting at vertex D, and ending at vertex D. So when you move forward 100, the distance between one rectangle and the next is 100 - DC. Since DC is a random number, the distance between the rectangles is a random number.

You can get consistent spacing as follows

def drawRectangle(myTurtle, width, height): 
        for i in range(2):
            myTurtle.fd(width)
            myTurtle.left(90)
            myTurtle.fd(height)
            myTurtle.left(90)
        myTurtle.up()
        myTurtle.fd(width)
Related