使用 range() 修改 x 和 y 以使用 Python turtle 创建网格
Modify x & y using range() to create grid using Python turtle
如何修改 range()
函数中的 x 和 y 以使用 turtle 创建网格?我正在尝试创建一个正方形网格,每个正方形之间使用乌龟图形设置间距。现在我正在使用这个:
blocks = turtle.Turtle()
blocks.color("gray")
blocks.speed(0)
blocks.shape("square")
blocks.turtlesize(1.9)
blocks.penup()
blocks.setpos(-212, 130)
blocks_x = 85
blocks_y = 85
for pos in range(4):
blocks.setpos(blocks.xcor() + blocks_x, blocks.ycor())
blocks.stamp()
blocks.setpos(blocks.xcor(), blocks.ycor() - blocks_y)
for pos in range(4):
blocks.setpos(blocks.xcor() + blocks_x, blocks.ycor())
blocks.stamp()
blocks.setpos(blocks.xcor(), blocks.ycor() - blocks_y)
for pos in range(4):
blocks.setpos(blocks.xcor() + blocks_x, blocks.ycor())
blocks.stamp()
blocks.setpos(blocks.xcor(), blocks.ycor() - blocks_y)
for pos in range(4):
blocks.setpos(blocks.xcor() + blocks_x, blocks.ycor())
blocks.stamp()
blocks.setpos(blocks.xcor(), blocks.ycor() - blocks_y)
它做我想做的事,但是,我想知道是否有办法在打印完所有 x 后修改 y 坐标,这样我就可以使用 range()
函数一次?
尝试
turtle.goto([x coordinate],[y coordinate])
这基本上会将海龟传送到那些坐标
我从你的代码和描述中猜测你想要类似下面的东西,其中 x 位置 和 y 位置由嵌套的 for
循环控制:
from turtle import Screen, Turtle
BLOCKS_X, BLOCKS_Y = 85, 85
BLOCK_SIZE = 38
CURSOR_SIZE = 20
screen = Screen()
blocks = Turtle('square', visible=False)
blocks.penup()
blocks.color('gray')
blocks.speed('fastest')
blocks.turtlesize(BLOCK_SIZE / CURSOR_SIZE)
x_start, y_start = -1.5 * BLOCKS_X, 1.5 * BLOCKS_Y
blocks.setpos(x_start, y_start)
for _ in range(4):
for _ in range(4):
blocks.stamp()
blocks.forward(BLOCKS_X)
blocks.setpos(x_start, blocks.ycor() - BLOCKS_Y)
screen.mainloop()
如何修改 range()
函数中的 x 和 y 以使用 turtle 创建网格?我正在尝试创建一个正方形网格,每个正方形之间使用乌龟图形设置间距。现在我正在使用这个:
blocks = turtle.Turtle()
blocks.color("gray")
blocks.speed(0)
blocks.shape("square")
blocks.turtlesize(1.9)
blocks.penup()
blocks.setpos(-212, 130)
blocks_x = 85
blocks_y = 85
for pos in range(4):
blocks.setpos(blocks.xcor() + blocks_x, blocks.ycor())
blocks.stamp()
blocks.setpos(blocks.xcor(), blocks.ycor() - blocks_y)
for pos in range(4):
blocks.setpos(blocks.xcor() + blocks_x, blocks.ycor())
blocks.stamp()
blocks.setpos(blocks.xcor(), blocks.ycor() - blocks_y)
for pos in range(4):
blocks.setpos(blocks.xcor() + blocks_x, blocks.ycor())
blocks.stamp()
blocks.setpos(blocks.xcor(), blocks.ycor() - blocks_y)
for pos in range(4):
blocks.setpos(blocks.xcor() + blocks_x, blocks.ycor())
blocks.stamp()
blocks.setpos(blocks.xcor(), blocks.ycor() - blocks_y)
它做我想做的事,但是,我想知道是否有办法在打印完所有 x 后修改 y 坐标,这样我就可以使用 range()
函数一次?
尝试
turtle.goto([x coordinate],[y coordinate])
这基本上会将海龟传送到那些坐标
我从你的代码和描述中猜测你想要类似下面的东西,其中 x 位置 和 y 位置由嵌套的 for
循环控制:
from turtle import Screen, Turtle
BLOCKS_X, BLOCKS_Y = 85, 85
BLOCK_SIZE = 38
CURSOR_SIZE = 20
screen = Screen()
blocks = Turtle('square', visible=False)
blocks.penup()
blocks.color('gray')
blocks.speed('fastest')
blocks.turtlesize(BLOCK_SIZE / CURSOR_SIZE)
x_start, y_start = -1.5 * BLOCKS_X, 1.5 * BLOCKS_Y
blocks.setpos(x_start, y_start)
for _ in range(4):
for _ in range(4):
blocks.stamp()
blocks.forward(BLOCKS_X)
blocks.setpos(x_start, blocks.ycor() - BLOCKS_Y)
screen.mainloop()