Turtle(3)

Turtle(3)

前情提要

第二课时思维导图.png

内容提要

内容提醒导图.png

案例解析

案例1:HELLO (被作者吃掉的WORLD)

import turtle as t

t.setup(600,200)

# 画H

t.penup()               # 提笔
t.goto(-270, -50)       # 移动到起点
t.pensize(10)           # 设置笔的画笔粗细
t.pendown()             # 落笔
t.goto(-270, 50)        # 画竖
t.goto(-270, 0)         # 移动到中间
t.goto(-225,0)          # 画横
t.goto(-225, 50)        # 向上画竖
t.goto(-225,-50)        # 向下画竖

# 画E
t.penup()
t.goto(-165, 50)
t.pendown()
t.goto( -210, 50)
t.goto(-210, 0)
t.goto(-165, 0)
t.goto(-210, 0)
t.goto(-210, -50)
t.goto(-165, -50)

# 画L
t.penup()
t.goto(-150, 50)
t.pendown()
t.goto(-150, -50)
t.goto(-100, -50)

# 画L
t.penup()
t.goto(-80, 50)
t.pendown()
t.goto(-80, -50)
t.goto(-30, -50)

# 画O
t.penup()
t.goto(-20+10, 50)
t.pendown()
t.goto(40, 50)
t.goto(40, -50)
t.goto(-10, -50)
t.goto(-10, 50)
t.done()

效果图

1.png

代码分析

别问,问就是一行一行码过来

也别问为什么只有第一个有注释,因为,章老师不想侮辱你们的智商.

这是一个简单的画横画竖的小程序.唯一要做的事情,就是计算好坐标,然后移动到指定位置,开画就好.

案例2:画一个五角星

画一个五角星

import turtle as t
t.setheading(288)  # 设置初始角度
for i in range(5):
    t.forward(100)
    t.right(144)
t.done()

效果图

2.png

代码分析:

  1. 导入turtle 包,并起了个别名:t
import turtle as t
  1. 设置方向
t.setheading(288)  # 设置初始角度
# 也可以写成 t.right(72)

这段代码不是必须的.看你往哪个方向画而已.

即,如果没有这段代码,后续画出来的,仍然是一个五角星.

  1. 画五角星的循环代码
for i in range(5):
    t.forward(100)
    t.right(144)

这个循环做了五次,分别画五角星的五条边

forward()的参数是五条边的长度

right()的参数是固定的角度.因为五角星的每一个角的大小为36度,因此,转向的时候要右转144度

案例3:给五角星上色

import turtle as t
t.setheading(288)
t.fillcolor("yellow")
t.begin_fill()
for i in range(5):
    t.forward(100)
    t.right(144)

t.end_fill()

t.done()

效果图

03_3上色的五角星.png

代码分析:

  1. 设定填充颜色
t.fillcolor("yellow")

fillcolor()的参数同样是颜色的英语拼写.

这个必须在begin_fill()之前设置

  1. 设定从哪里开始填充
t.begin_fill()
  1. 设定到结束位置
t.end_fill()

注意:

​ 填充颜色的三连:设置颜色,开始,结束

如果图形是不封闭的,会自动给你弄成封闭的.

看一下如下代码:

import turtle as t
t.setheading(288)
t.fillcolor("yellow")
t.begin_fill()
for i in range(2):
    t.forward(100)
    t.right(144)
t.end_fill()

t.done()

效果如下:


03_3不封闭图形的填充效果.png

可以看到,当图形不封闭的时候,也会给你填充进去,最后不封闭的地方,会给你自动当成封闭的图形去处理

案例4:画个圈圈

import turtle as t
t.circle(100)
t.done()

效果图

03_4圆.png
import turtle as t
t.circle(-100)
t.done()
03_4圆2.png

注意看两个圆的箭头位置

案例5:残缺的美——圆弧

import turtle as t
t.circle(100, 180)
t.done()

效果图

03_5圆弧.png

代码分析

circle()

第一个参数:圆的半径

第二个参数:圆弧所对圆心角的度数

案例6:画正多边形

import turtle as t
t.circle(100,360, 5)  # 三个参数齐全,画正五边形
t.circle(100, steps=10) # 加上steps 可以省略第二个参数
t.done()

效果图

03_6正多边形.png

代码分析

t.circle(100,360, 5)  # 三个参数齐全,画正五边形

第一个参数:正多边形外接圆的半径

第二个参数:圆弧的圆心角

第三个参数:正多边形的边数,

​ 要求正整数,

​ 负数无效,

​ 0会报错:除0错误

t.circle(100, steps=10) # 加上steps 可以省略第二个参数

第一个参数:正多边形外接圆的半径

第二个参数:要加上steps ,这样可以省略第二个参数不写. 要求同上,必须为正整数

小结:

  1. 填充三步曲:设置颜色, 开始, 结束
  2. circle()函数三用:画圆,画弧,画正多边形

可能 结合填充实现更丰富的效果

后记:

这篇的内容,改稿了好几次,因为选用的例子不同,内容也大不一样.

下一篇会讲一些turtle中画一些比较有意思的例子,来加强两方面内容:

  1. python的三大程序结构
  2. turtle库的常用函数

你可能感兴趣的:(Turtle(3))