def main():
square(0,0,50,'red')
def square(x,y,width,color):
turtle.penup()
turtle.goto(0,0)
turtle.fillcolor(color)
turtle.pendown()
turtle.begin_fill()
for number in range(5):
for count in range(4):
turtle.forward(width)
turtle.left(90)
turtle.end_fill()
x = x+50
turtle.goto(x,y)
turtle.showturtle()
调用主函数
main()
这给了我一行5个方格。我如何编写外部循环来绘制4个以上 这样的5个方块的行 - 一个5乘5的棋盘?
答案 0 :(得分:0)
你已经有代码来绘制一行正方形,这就是你现在拥有的循环。
您希望该代码运行5次,因此只需将其包装在另一个循环中,确保根据需要修改变量。有点像这样:
for i in range(5):
for number in range(5):
for count in range(4):
turtle.forward(width)
turtle.left(90)
turtle.end_fill()
x += width
turtle.goto(x,y)
x -= 5*width
y += width
还有关于样式的注释,square()
忽略了大部分参数。无论x
和y
的值如何,您都要将乌龟硬编码为(0,0)。由于您之后的goto
使用了这些值,因此如果您将代码设置为0以外的任何值,代码就会中断。您的行x = x+50
也会忽略width
的值,即使该行{乌龟画使用它。同样,如果你把它设置为50以外的任何东西,这将会破坏。
答案 1 :(得分:0)
我简化了你的“方形”功能,只画了一个正方形。然后我添加了一个单独的函数,其中包含一个调用square函数的嵌套循环。 试图保持简单,只对每个功能负责:
import turtle
def main():
board(5, 5, 50)
input("Hit enter to close")
def square(x,y,width,color):
turtle.penup()
turtle.fillcolor(color)
turtle.goto(x, y)
turtle.pendown()
turtle.begin_fill()
for side in range(4):
turtle.forward(width)
turtle.left(90)
turtle.end_fill()
def board(rows, columns, square_width):
turtle.showturtle()
for row in range(rows):
for column in range(columns):
color = "red" if (row + column)%2 == 1 else "white"
square(row*square_width, column*square_width, square_width, color)
turtle.hideturtle()