Note of Python Turtle

2019-03-11 09:46:14来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Note of Python Turtle

        Turtle 库函数是 Python语言中一个流行的绘图函数库。Turtle 意思是海龟,在Python中显示为一个小箭头,通过它的移动而留下美妙的曲线~~~

1.调用库函数

(1) 导入库函数:import  <库名>

 使用库中函数:<库名> . <函数名> (<函数参数>)

import turtle
turtle.pensize(3)
turtle.forward(250)

(2) 导入库函数:from  <库名>  import * ( *为通配符 )

 使用库中函数:<函数名> (<函数参数>)

from turtle import *
pensize(3)
forward(250)

效果示例:

2. 绘图控制函数

2.1 画布:画布是用于绘图的区域,可控制其界面大小。

(1) setup ( width , height , startx , starty )

width : 窗口宽度,值为整数则对应像素值;值为小数则为窗口宽度与屏幕的比例。

height : 窗口高度,值为整数则对应像素值;值为小数则为窗口高度与屏幕的比例。

startx : 窗口左侧与屏幕左侧的像素距离,值为None则窗口位于窗口水平中央。

starty : 窗口右侧与屏幕右侧的像素距离,值为None则窗口位于窗口垂直中央。

(2) screensize ( canvwidth = None , canvheight = None , bg = None)

canvwidth窗口宽度,单位为像素

canvheight窗口高度,单位为像素

bg:窗口背景颜色

from turtle import setup         #导入turtle.setup函数
setup(650,350,350,180)           #方法一
screensize(650,350,"green")      #方法二

 

2.2 画笔

(1) 抬笔:penup() / pu() / up()               绘图时不留下痕迹

(2) 落笔:pendown() / pd() / down()                绘图时留下痕迹

(3) 画笔速度:speed( speed )                   设置画笔的速度,speed在 [0,10] 之间,speed 为 0 时最快

(4) 画笔宽度:pensize( width )                设置画笔的宽度

(5) 画笔颜色:pencolor( colorstring ) / pencolor(R,G,B)    设置画笔的颜色

 

英文名称 中文名称 R  G  B
white 白色 255  255  255
black 黑色 0  0  0
grey 灰色 190  190  190
darkgreen 深绿色 0  100  0
gold 金色 255  215  0
violet 紫罗兰 238  130  238
purple 紫色 160  32   240

 

2.3 绘图

命令 说明

fd(distance)

forward(distance)

diantance 为前进距离的像素值

bk(distance)

backward(distance)

diantance 为后退距离的像素值

lt(angle)

left(angle)

angle 为左转的角度

rt(angle)

right(angle)

angle 为右转的角度

seth(angle)

setheading(angle)

angle 为转到的角度,即改变绘图方向
circle(radius [,extent])

绘制以radius为半径,以extent为角度弧形

(extent 为None时,绘制整个圆;radius 为正数时,绘制的图形在小海龟的左侧;radius 为负数时,绘制的图形在小海龟的右侧)

goto(x,y) 将画笔移动到坐标为(x,y)的位置
ht() / hideturtle() 隐藏小海龟
st() / showturtle() 显示小海龟
fillcolor(colorstring) 设置填充颜色
begin_fill() 开始填充图形
end_fill() 填充完成

 

2.4 控制命令

命令 说明
home() 使小海龟回到初始位置 (0,0)
clear() 清空窗口,但小海龟的位置和状态不变
reset() 清空窗口,且重置小海龟的状态为初始状态
undo() 撤销上一个动作
stamp() 复制当前图形
write(s[,font=("font-name",font_size,"font_type")])

文本,s 为文本内容,font 是字体的参数,内部分别是字体名称,大小和类型

 

 

 

 

 

 

 

3 绘制图形示例

3.1 绘制叠加等边三角形

# 往里叠加的等边三角形
from turtle import *
n = int(input("请输入需要绘制的三角形个数:"))
d = 300
for i in range(n):
    for j in range(3):
        seth((-1)**i*120*j)
        fd(d)
    fd(-d/2)
    d /= 2
ht()
pu()
home()
write("已绘制{}个等边三角形".format(n))

 

3.2 绘制正方形螺旋线

#正方形螺旋线
from turtle import *
r = 10      #最小边长
d = 10      #边与边的距离
n = 25      #圈数
speed(10)   #加快绘图速度
for i in range(2*n):
    fd(r)
    left(90)
    fd(r)
    left(90)
    r += d

 

  3.3 绘制小蟒蛇

#小蟒蛇
from turtle import *
setup(900,300,200,180)      #设置画布大小
pensize(30)                 #设置画笔大小
pencolor("purple")          #设置画笔颜色
seth(-40)                   #初始画笔方向
n = 3
r = 40
angle = 80
for i in range(n):
    circle(r,angle)
    circle(-r,angle)
circle(r,angle/2)
fd(r/2)
circle(r/2,180)
fd(r)

 

 3.4 绘制国际象棋棋盘

from turtle import *
d = int (input("请输入正方形的长度:")) #获取正方形长度
speed(0)                # 提高画笔速度
def Sq_white():         # 定义函数:画一小格白框框
    for i in range(4):
        fd(d)
        rt(90)
    fd(d)

def Sq_black():         # 定义函数:画一小格黑框框
    fillcolor("black")
    begin_fill()
    for i in range(4):
        fd(d)
        rt(90)
    end_fill()
    fd(d)

def W_B(n):             # 定义函数:白黑框框组合
    for a in range(n):
        Sq_white()
        Sq_black()

def B_W(n):             # 定义函数:黑白框框组合
    for b in range(n):
        Sq_black()
        Sq_white()

def Turn():             # 定义函数:画完一次转的角度
    rt(90)
    fd(d)

def Control2():         # 定义执行的函数:使用普通的方法,程序简单
    for p in range(4):
        W_B(4)
        rt(90)
        fd(2*d)
        rt(90)
        W_B(4)
        rt(180)

Control2()

 


原文链接:https://www.cnblogs.com/bpf-1024/p/10510595.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python3 正则表达式

下一篇:前后端分离djangorestframework—— 接入第三方的验证码平台