Python 画一个正方形,防止它被随机地画出边界

Python 画一个正方形,防止它被随机地画出边界,python,turtle-graphics,Python,Turtle Graphics,我试图在700x700网格上随机绘制一个正方形,但是在每次随机运行时,该正方形都会被绘制出边界。我如何使整个广场保持在主网格边界内?只有正方形的左下角保留在网格内。我下面有一个函数,它随机画一个正方形 def draw_square(): """ Function to draw a square randomly on 700x700 grid """ turtle.penup() turtle.sethead

我试图在700x700网格上随机绘制一个正方形,但是在每次随机运行时,该正方形都会被绘制出边界。我如何使整个广场保持在主网格边界内?只有正方形的左下角保留在网格内。我下面有一个函数,它随机画一个正方形

def draw_square():
    """ Function to draw a square randomly on 700x700 grid """
    turtle.penup()
    turtle.setheading(0)  # Make the turtle face east (0 degrees)
    x = random.randint(-340, 340)
    y = random.randint(-365, 315)
    turtle.goto(x, y)
    turtle.pendown()  # Put the pen down
    turtle.pensize(3)  # Set the pen's width to 3 pixels
    for i in range(4):
        turtle.forward(100)
        turtle.left(90)

调整随机X和Y上的范围。 将两者都设置为350-100(或-350+100),这样它就永远不会超过350和-350,这是您的边界

def draw_square():
    """ Function to draw a square randomly on 700x700 grid """
    turtle.penup()
    turtle.setheading(0)  # Make the turtle face east (0 degrees)
    x = random.randint(-250, 250)
    y = random.randint(-250, 250)
    turtle.goto(x, y)
    turtle.pendown()  # Put the pen down
    turtle.pensize(3)  # Set the pen's width to 3 pixels
    for i in range(4):
        turtle.forward(100)
        turtle.left(90)

draw_square()
另外,请确保您的屏幕大小实际上是700x700

screen.screensize(canvwidth=700, canvheight=700,)

回答很好,除了我建议
screen.setup(700700)
over
screensize()
因为后者设置备份存储的大小,而不是窗口本身。谢谢你的建议,但是它无法指定x,y坐标('-335348)。我希望它的所有角落都适合给定的范围。例如,如果正方形的左下角被随机分配到(335310),则右侧的其他边显然将超出范围(435310)。我想我只需要改变两个坐标的上限(350-100),因此x=random.randint(-350250)y=random.randint(-350250)是的,我只是说了250,没有考虑太多。根据正方形开始绘制的方式,必须将任意值更改为250。如果它在-340x处产卵,但再也不会从那里向左移动,那么-340x就可以了。@cdlane是的,你是对的。我只是从来没有用过tkinter,只是从我第一次找到的任何参考资料中得出了答案。