python-turtle库

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 or back

    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运行

python-turtle库_第1张图片

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()

python-turtle库_第2张图片

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()

python-turtle库_第3张图片

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()  				# 完成画画

python-turtle库_第4张图片


在jupyter notebook中绘图时可以在最后加上t.done()或t.mainloop()就可以在jupyter notebook里绘图的

t.done()
t.mainloop()
turtle.done()
turtle.mainloop()

你可能感兴趣的:(python,turtle,jupyter)