turtle库
turtle.done()
- - - done函数让窗口进入消息循环,等待关闭
-
设置画布大小和位置
turtle.screensize
(canvwidth=None, canvheight=None, bg=None)
画布的宽高背景颜色turtle.setup
(width=0.5, height=0.75, startx=None, starty=None)
宽高为整数时表示像素,为小数时表示占屏幕的比例,startx和starty为画布左上角顶点离电脑最左上方的距离turtle.screensize() # (400, 300) # 查看画布大小 默认(400, 300) turtle.screensize(800,600,'red') # 画布大小宽800高600背景red turtle.setup(width=0.6,height=0.6) # 居中心位置
-
画笔常用移动指令
pensize(width) - - - 画笔的宽度
pencolor() - - - 画笔的颜色,可以是str和RGB3元组(0~1)
speed() - - - 画笔移动速度[0,10] - - - 0最快,从1速度最慢到10速度越来越快penup() - - - 提笔
pendown() - - - 落笔forward(distance) - - - 前进
fd
backward(distance) - - - 后退bk
orback
right(angle) - - - 向右旋转angle角度 - - - 顺时针 - - -
t.rt
left(angle) - - - 向左选择angle角度 - - - 逆时针 - - -t.lt
goto(x, y) - - - 将画笔移动到x,y的位置
circle(radius, e) - - - 角度e - - - 半径为正,向左(逆时针画圆)
setheading(angle) - - - 设置当前朝向为angle角度 - - -
seth
home() - - - 将当前位置设置为原点,朝向东
dot(r,color) - - - 画一个点
setx() - - - 将当前x轴移动到指定位置
sety() - - - 将当前y轴移动到指定位置 -
画笔常用控制命令
fill_color(colorstring) - - - 绘制图形的填充颜色
color(color1, color2) - - - 同时设置画笔和填充色(pencolor=color1, fillcolor=color2)filling() - - - 返回当前是否在填充状态 - - - 返回True和False
begin_fill() - - - 准备开始填充图形的颜色
end_fill() - - - 填充结束hideturtle() - - - 隐藏画笔的turtle形状
showturtle() - - - 显示画笔的turtle形状 -
全局控制常用命令
clear() - - - 清空turtle窗口,turtle的位置和状态不会改变
reset() - - - 清空窗口,重置turtle状态为起始状态
undo() - - - 撤销上一个turtle动作
isvisible() - - - 返回当前turtle是否可见
write(s[,font=(“font-name”, font_size, “font_type”)]) - - - 写文本,s为文本内容,font是字体的参数,字体的风格,可以是"normal"、“bold”、“italic"或者"underline”
stamp() - - - 复制当前图形
-
其他常用指令
mainloop() 或 done() - - - 启动事件循环,必须是turtle图形程序的最后一个语句
mode(mode=None) - - - 设置turtle模式(‘standard’, ‘logo’, ‘world’) 并执行重置,如果没有给出模式,返回当前模式,standard向右(东),若是角度的话为逆时针,logo:向上(北)
delay(delay=None) - - - 设置或返回以毫秒为单位的绘图延迟
begin_poly() - - - 开始记录多边形的顶点,当前的乌龟位置是多边形的第一个顶点
end_poly() - - - 停止记录多边形的顶点,当前的乌龟位置是多边形的最后一个顶点,与第一个顶点相连get_poly() - - - 返回最后记录的多边形
练习
t.circle(radius, extent=None, steps=None)
extent弧度
steps做圆的内切正多边形,边数为steps
import turtle as t
t.circle(50,180) # 画了一个半径为50的半圆
t.circle(100,steps=5) # 只画多边形
t.done()
import turtle as t
t.pencolor('red') # 或 t.color('red')
t.write('hello world', align="center", font=("Arial", 100, "normal"))
t.done()
jupyter notebook运行该代码会一直报错,使用IDLE运行
import turtle as t
color = (0,0.01,0)
t.color(color,color) # 第二个color是turtle画笔(没有尾巴的箭头)里面的颜色
t.fillcolor(color)
t.begin_fill()
for i in range(4):
t.fd(50)
t.right(90)
t.end_fill()
t.done()
t.mainloop()
import turtle
# 定义颜色列表
colors = ["#FF0000", "#FF7F00", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF", "#8B00FF"]
# 初始化窗口
window = turtle.Screen()
window.bgcolor("#FFFFFF")
window.title("Color Chart")
# 绘制色卡
turtle.penup()
turtle.goto(-150, 150)
turtle.pendown()
for i in range(7):
turtle.fillcolor(colors[i])
turtle.begin_fill()
for j in range(4):
turtle.forward(50)
turtle.right(90)
turtle.end_fill()
turtle.penup()
turtle.forward(60)
turtle.pendown()
turtle.hideturtle()
# 关闭窗口
turtle.done()
turtle.mainloop()
import turtle as t
t.speed(0) # 设置速度为最快
t.color("black") # 设置画笔颜色
t.fillcolor('yellow') # 设置填充颜色
t.begin_fill() # 开始填充
for i in range(5): # 画五边形
t.forward(100) # 向前移动100像素
t.right(144) # 右转144度
t.end_fill() # 结束填充
t.done() # 完成画画
在jupyter notebook中绘图时可以在最后加上t.done()或t.mainloop()就可以在jupyter notebook里绘图的
t.done()
t.mainloop()
turtle.done()
turtle.mainloop()