最近孩子学习使用Turtle绘制一些基本图形,也不能拖后退,至少咨询一些问题,也能当面解答,顺便测试了一下,比如三角形,正方形,长方形,正五边形,多边形等等。对孩子来说也不是简单的事情,多数图形是能独立实现的。下面就将测试效果的代码分享出来。
1. 正方形
效果如下:
import turtle
turtle.pencolor('green')
turtle.pendown()
turtle.hideturtle()
for i in range(4):
turtle.forward(100)
turtle.left(90)
turtle.done()
把笔设置为绿色,隐藏小乌龟的箭头,连续四次前进100像素,每次左转90度。当然可以每次右转90度。
此时没有对笔的大小做设置,可以设置笔画的大小,图形填充颜色。如下改进代码:
turtle.pensize(2)
turtle.pencolor('green')
turtle.pendown()
turtle.hideturtle()
turtle.fillcolor('yellow')
turtle.begin_fill()
for i in range(4):
turtle.forward(100)
turtle.left(90)
turtle.end_fill()
turtle.done()
外框的笔话粗了一些,使用黄色填充。
2. 长方形
代码如下:
import turtle
turtle.pensize(2)
turtle.pencolor('green')
turtle.pendown()
turtle.hideturtle()
turtle.fillcolor('lightgreen')
turtle.begin_fill()
for i in range(4):
if i%2==1:
turtle.forward(100)
else:
turtle.forward(200)
turtle.left(90)
turtle.end_fill()
turtle.done()
效果如下:
3. 正三角形
代码如下:
import turtle
turtle.hideturtle()
turtle.fillcolor('lightgreen')
turtle.begin_fill()
for i in range(3):
turtle.forward(200)
turtle.left(120)
turtle.end_fill()
turtle.done()
效果如下:
4. 六边形
代码如下:
import turtle
d =0
for i in range(6):
turtle.fd(100)
d = d+60
turtle.seth(d)
turtle.done()
效果如下:
使用圆内切正六边形
turtle.circle(100, steps=6)
turtle.done()
效果如下:
将圆圈保留,且填充内切六边形:
代码如下:
turtle.fillcolor('Yellow')
turtle.circle(100)
turtle.begin_fill()
turtle.circle(100, steps=6)
turtle.end_fill()
turtle.done()
效果如下:
5. 同切圆
代码如下:
import turtle
turtle.hideturtle()
turtle.circle(20)#半径
turtle.circle(40)
turtle.circle(80)
turtle.circle(120)
turtle.done()
效果如下:
没有做颜色填充,填充依据上代码很容易实现。
6. 五角星
代码如下:
import turtle
turtle.color("red")#画笔颜色
turtle.fillcolor("yellow")#填充颜色
turtle.begin_fill()
for i in range(5):
turtle.forward(200)
turtle.right(144)
turtle.end_fill()
# right是顺时针移动,left是逆时针,left与right绘画的方向不同,出来的输出的效果图也不太一样,可以试试。
turtle.done()
效果如下:
7. 圆内切可以是任意多边形
只需要设置setp = 边数 即可
如12边形:
T = turtle.Turtle()
T.circle(100)
T.circle(100, steps =12)
turtle.done()
效果如下:
网友评论