Turtle 绘图测试

2022-08-14  本文已影响0人  Ritchie_Li

最近孩子学习使用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()

效果如下:

上一篇下一篇

猜你喜欢

热点阅读