Python中使用turtle绘制棋盘详解

效果

实现

源码

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时画出③④这条线。

同理竖线的绘制也是如此。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霸道流氓气质

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值