#PythonDraw.py
import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40, 80)
turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done()
turtle 的画布空间如下图所示:
绘图窗体左上角的位置代表窗体位置,窗体长和宽代表窗体大小。
窗体的大小及位置可以通过函数 setup() 绘制:
turtle.setup(width, height, startx, starty)
在 turtle 绝对坐标体系,向右为 x 正方向,向上为 y 正方向。
函数goto() 可以直接运动到给定的坐标位置,函数如下:
turtle.goto(x, y)
example:
import turtle
turtle.goto( 100, 100)
turtle.goto( 100,-100)
turtle.goto(-100,-100)
turtle.goto(-100, 100)
turtle.goto(0,0)
执行如下:
circle(r, angle) 以当前点左边距离为 r 的位置为圆心画圆,角度为 angle
fd(d) 表示当前方向前进距离 d
seth() 函数可以改变行进方向
turtle.seth(angle)
left() 和 right 函数分别表示向左向右旋转一定角度:
turtle.left(angle)
turtle.right(angle)
example:
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
由三种颜色构成的万物色
英文名称 | RGB整数值 | RGB小数值 | 中文名称 |
---|---|---|---|
white | 255, 255, 255 | 1, 1, 1 | 白色 |
yellow | 255, 255, 0 | 1, 1, 0 | 黄色 |
magenta | 255, 0, 255 | 1, 0, 1 | 洋红 |
cyan | 0, 255, 255 | 0, 1, 1 | 青色 |
blue | 0, 0, 255 | 0, 0, 1 | 蓝色 |
black | 0, 0, 0 | 0, 0, 0 | 黑色 |
seashell | 255, 245, 238 | 1, 0.96, 0.93 | 海贝色 |
gold | 255, 215, 0 | 1, 0.84, 0 | 金色 |
pink | 255, 192, 203 | 1, 0.75, 0.80 | 粉红色 |
brown | 165, 42, 42 | 0.65, 0.16, 0.16 | 棕色 |
purple | 160, 32, 240 | 0.63, 0.13, 0.94 | 紫色 |
tomato | 255, 99, 71 | 1, 0.39, 0.28 | 番茄色 |
默认采用小数值,可切换为整数值
turtle.colormode(mode)
库引用:扩充 Python 程序功能的方式
但是多次写 turtle,很繁琐,有另外的写法,更加简单
写法一:
import <库名>
<库名>.<函数名>(<函数参数>)
写法二:
from <库名> import <函数名>
from <库名> import *
<函数名>(<函数参数>)
第一种方法不会出现函数重名问题,第二种方法则会出现
import 更多用法:给库起别名
给调用的外部库关联一个更短、更适合自己的名字
example:
画笔控制函数有四个 penup(), pendown(), pensize(), pencolor() 下面分别讲解。
pencolor(color) 的 color 可以有三种形式
运动控制函数有两个分别是 fd() 和 circle()
方向控制函数有三个,分别是 seth(),left() 和 right(),seth() 改变绝对角度,left() 和 right()改变海龟角度
按照一定次数循环执行一组语句
<变量>表示每次循环的计数,0 到<次数>-1
example:
>>> for i in range(5):
print("hello:",i)
hello: 0
hello: 1
hello: 2
hello: 3
hello: 4
range()函数:产生循环计数序列
turtle 库的使用
turtle 程序语法元素分析