import turtle
#声明棋盘的单元格宽度为30,数量为18
width = 30
num = 18
#设置画布大小
turtle.screensize(1200,900,"green")
#声明列表来存取坐标
x1 = [(-400,400),(-400+width*num,400)]
y1 = [(-400,400),(-400,400-width*num)]
#获取画笔
t = turtle.Pen()
#设置画笔速度(1-10)越大速度越快
t.speed(8)
#设置画笔颜色
t.pencolor("red")
#循环绘制横向线
for i in range(0,19):
t.penup()
t.goto(x1[0][0],x1[0][1]-30*i)
t.pendown()
t.goto(x1[1][0],x1[1][1]-30*i)
#循环绘制纵向线
for i in range(0,19):
t.penup()
t.goto(y1[0][0]+30*i,y1[0][1])
t.pendown()
t.goto(y1[1][0]+30*i,y1[1][1])
#隐藏画笔
t.hideturtle()
#保证运行窗口不被关闭
turtle.done()
在绘制横向线的循环里:
当i=0
执行penup()让画笔抬起
执行goto()让笔挪到执行位置
因为x1是列表,所以x轴的坐标x1[0][0]就是列表中的第一个元素的第一个值,即-400
y轴的坐标x1[0][1]-30*i就为列表x1中的的第一个元素的第二个值,即400-0*30=400
所以笔会首先挪到(-400,400)
此时笔来到①点,此时执行pendown()画笔会落下
然后再移动到②点,因为此时笔已经落下,所以会画出①②这条线。
同理i=1时画出③④这条线。
同理竖线的绘制也是如此。